rede de colabora梂o social para universidades brasileiras...
TRANSCRIPT
Universidade de Brasiacutelia - UnB
Faculdade UnB Gama - FGA
Engenharia de Software
Rede de colaboraccedilatildeo social para universidadesbrasileiras um estudo de caso de implantaccedilatildeo edesenvolvimento distribuiacutedo de uma plataforma
livre na Universidade de Brasiacutelia
Autor Daniel Costa Bucher
Orientador Prof Dr Paulo Roberto Miranda Meirelles
Brasiacutelia DF
2013
Daniel Costa Bucher
Rede de colaboraccedilatildeo social para universidades brasileiras
um estudo de caso de implantaccedilatildeo e desenvolvimento
distribuiacutedo de uma plataforma livre na Universidade de
Brasiacutelia
Monografia submetida ao curso de graduaccedilatildeoem (Engenharia de Software) da Universi-dade de Brasiacutelia como requisito parcial paraobtenccedilatildeo do Tiacutetulo de Bacharel em (Enge-nharia de Software)
Universidade de Brasiacutelia - UnB
Faculdade UnB Gama - FGA
Orientador Prof Dr Paulo Roberto Miranda Meirelles
Brasiacutelia DF
2013
Daniel Costa BucherRede de colaboraccedilatildeo social para universidades brasileiras um estudo de caso
de implantaccedilatildeo e desenvolvimento distribuiacutedo de uma plataforma livre na Univer-sidade de Brasiacutelia Daniel Costa Bucher ndash Brasiacutelia DF 2013-
56 p il (algumas color) 30 cm
Orientador Prof Dr Paulo Roberto Miranda Meirelles
Trabalho de Conclusatildeo de Curso ndash Universidade de Brasiacutelia - UnBFaculdade UnB Gama - FGA 2013
1 Redes sociais 2 Software livre I Prof Dr Paulo Roberto MirandaMeirelles II Universidade de Brasiacutelia III Faculdade UnB Gama IV Rede de co-laboraccedilatildeo social para universidades brasileiras um estudo de caso de implantaccedilatildeoe desenvolvimento distribuiacutedo de uma plataforma livre na Universidade de Brasiacutelia
CDU 021410056
Daniel Costa Bucher
Rede de colaboraccedilatildeo social para universidades brasileirasum estudo de caso de implantaccedilatildeo e desenvolvimentodistribuiacutedo de uma plataforma livre na Universidade de
Brasiacutelia
Monografia submetida ao curso de graduaccedilatildeoem (Engenharia de Software) da Universi-dade de Brasiacutelia como requisito parcial paraobtenccedilatildeo do Tiacutetulo de Bacharel em (Enge-nharia de Software)
Trabalho aprovado Brasiacutelia DF 17 de Dezembro de 2013
Prof Dr Paulo Roberto Miranda
Meirelles
Orientador
Prof Dr Leonardo Lazarte
Convidado 1
Profa Dra Milene Serrano
Convidado 2
Brasiacutelia DF2013
Resumo
Este trabalho de conclusatildeo de curso apresenta os resultados de um estudo para viabilizar
a implantaccedilatildeo de uma rede de colaboraccedilatildeo para a Universidade de Brasiacutelia (UnB) que
atue como um ambiente virtual para a criaccedilatildeo e o compartilhamento de conhecimento
de forma colaborativa e horizontal Para isso escolhemos utilizar a plataforma brasileira
para redes sociais livres Noosfero por entender que esta satisfaz as necessidades imediatas
do projeto de acordo com estudos feitos pela Universidade de Satildeo Paulo quando adotou
a mesma Aleacutem da implantaccedilatildeo em si na UnB este estudo contemplou um levantamento
de requisitos e a implementaccedilatildeo de um conjunto de funcionalidades e melhorias para a
plataforma em questatildeo de forma que atendesse as necessidades baacutesicas para podermos
realizar estudos de caso com alunos da UnB Gama Dessa forma indicando como pode-
mos oficializar a rede ComunidadeUnB bem como quais os proacuteximos passos para que
melhor atenda o puacuteblico dessa universidade Adicionalmente os esforccedilos e conhecimento
adquiridos neste trabalho foram repassados para uma equipe de desenvolvedores na UnB
Gama o que proporcionaraacute a continuidade e concretizaccedilatildeo da implantaccedilatildeo desta rede na
UnB em 2014
Palavras-chaves redes sociais software livre requisitos funcionais meacutetodos aacutegeis de-
senvolvimento distribuiacutedo de software
Abstract
This course conclusion work presents the results of a study to enable the deployment
of a collaborative network for the University of Brasilia (UNB) which acts as a virtual
environment for the creation and sharing of knowledge in a collaborative and horizontal
way For this we choose to use a Brazilian free social networks platform Noosfero under-
standing that it satisfies the immediate needs of this proposal according to studies from
University of Satildeo Paulo when it adopted the same Besides the implementation itself at
UNB this study includes a requirements elicitation and the implementation of a set of
features and enhancements to the proposed platform so that it would meet the basic
needs for us to perform case studies with students from UnB Gama Also we pointed
out steps that will enable the continuity and the officialisation of the ComunidadeUnB
network and itrsquos constant evolution Additionally our efforts and knowledge acquired in
this work were transferred to a team of developers at UNB Gama which will provide
continuity to the deployment and implementation of this network in UNB in 2014
Key-words social networking open-source software functional requirements agile meth-
ods distributed software development
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Daniel Costa Bucher
Rede de colaboraccedilatildeo social para universidades brasileiras
um estudo de caso de implantaccedilatildeo e desenvolvimento
distribuiacutedo de uma plataforma livre na Universidade de
Brasiacutelia
Monografia submetida ao curso de graduaccedilatildeoem (Engenharia de Software) da Universi-dade de Brasiacutelia como requisito parcial paraobtenccedilatildeo do Tiacutetulo de Bacharel em (Enge-nharia de Software)
Universidade de Brasiacutelia - UnB
Faculdade UnB Gama - FGA
Orientador Prof Dr Paulo Roberto Miranda Meirelles
Brasiacutelia DF
2013
Daniel Costa BucherRede de colaboraccedilatildeo social para universidades brasileiras um estudo de caso
de implantaccedilatildeo e desenvolvimento distribuiacutedo de uma plataforma livre na Univer-sidade de Brasiacutelia Daniel Costa Bucher ndash Brasiacutelia DF 2013-
56 p il (algumas color) 30 cm
Orientador Prof Dr Paulo Roberto Miranda Meirelles
Trabalho de Conclusatildeo de Curso ndash Universidade de Brasiacutelia - UnBFaculdade UnB Gama - FGA 2013
1 Redes sociais 2 Software livre I Prof Dr Paulo Roberto MirandaMeirelles II Universidade de Brasiacutelia III Faculdade UnB Gama IV Rede de co-laboraccedilatildeo social para universidades brasileiras um estudo de caso de implantaccedilatildeoe desenvolvimento distribuiacutedo de uma plataforma livre na Universidade de Brasiacutelia
CDU 021410056
Daniel Costa Bucher
Rede de colaboraccedilatildeo social para universidades brasileirasum estudo de caso de implantaccedilatildeo e desenvolvimentodistribuiacutedo de uma plataforma livre na Universidade de
Brasiacutelia
Monografia submetida ao curso de graduaccedilatildeoem (Engenharia de Software) da Universi-dade de Brasiacutelia como requisito parcial paraobtenccedilatildeo do Tiacutetulo de Bacharel em (Enge-nharia de Software)
Trabalho aprovado Brasiacutelia DF 17 de Dezembro de 2013
Prof Dr Paulo Roberto Miranda
Meirelles
Orientador
Prof Dr Leonardo Lazarte
Convidado 1
Profa Dra Milene Serrano
Convidado 2
Brasiacutelia DF2013
Resumo
Este trabalho de conclusatildeo de curso apresenta os resultados de um estudo para viabilizar
a implantaccedilatildeo de uma rede de colaboraccedilatildeo para a Universidade de Brasiacutelia (UnB) que
atue como um ambiente virtual para a criaccedilatildeo e o compartilhamento de conhecimento
de forma colaborativa e horizontal Para isso escolhemos utilizar a plataforma brasileira
para redes sociais livres Noosfero por entender que esta satisfaz as necessidades imediatas
do projeto de acordo com estudos feitos pela Universidade de Satildeo Paulo quando adotou
a mesma Aleacutem da implantaccedilatildeo em si na UnB este estudo contemplou um levantamento
de requisitos e a implementaccedilatildeo de um conjunto de funcionalidades e melhorias para a
plataforma em questatildeo de forma que atendesse as necessidades baacutesicas para podermos
realizar estudos de caso com alunos da UnB Gama Dessa forma indicando como pode-
mos oficializar a rede ComunidadeUnB bem como quais os proacuteximos passos para que
melhor atenda o puacuteblico dessa universidade Adicionalmente os esforccedilos e conhecimento
adquiridos neste trabalho foram repassados para uma equipe de desenvolvedores na UnB
Gama o que proporcionaraacute a continuidade e concretizaccedilatildeo da implantaccedilatildeo desta rede na
UnB em 2014
Palavras-chaves redes sociais software livre requisitos funcionais meacutetodos aacutegeis de-
senvolvimento distribuiacutedo de software
Abstract
This course conclusion work presents the results of a study to enable the deployment
of a collaborative network for the University of Brasilia (UNB) which acts as a virtual
environment for the creation and sharing of knowledge in a collaborative and horizontal
way For this we choose to use a Brazilian free social networks platform Noosfero under-
standing that it satisfies the immediate needs of this proposal according to studies from
University of Satildeo Paulo when it adopted the same Besides the implementation itself at
UNB this study includes a requirements elicitation and the implementation of a set of
features and enhancements to the proposed platform so that it would meet the basic
needs for us to perform case studies with students from UnB Gama Also we pointed
out steps that will enable the continuity and the officialisation of the ComunidadeUnB
network and itrsquos constant evolution Additionally our efforts and knowledge acquired in
this work were transferred to a team of developers at UNB Gama which will provide
continuity to the deployment and implementation of this network in UNB in 2014
Key-words social networking open-source software functional requirements agile meth-
ods distributed software development
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Daniel Costa BucherRede de colaboraccedilatildeo social para universidades brasileiras um estudo de caso
de implantaccedilatildeo e desenvolvimento distribuiacutedo de uma plataforma livre na Univer-sidade de Brasiacutelia Daniel Costa Bucher ndash Brasiacutelia DF 2013-
56 p il (algumas color) 30 cm
Orientador Prof Dr Paulo Roberto Miranda Meirelles
Trabalho de Conclusatildeo de Curso ndash Universidade de Brasiacutelia - UnBFaculdade UnB Gama - FGA 2013
1 Redes sociais 2 Software livre I Prof Dr Paulo Roberto MirandaMeirelles II Universidade de Brasiacutelia III Faculdade UnB Gama IV Rede de co-laboraccedilatildeo social para universidades brasileiras um estudo de caso de implantaccedilatildeoe desenvolvimento distribuiacutedo de uma plataforma livre na Universidade de Brasiacutelia
CDU 021410056
Daniel Costa Bucher
Rede de colaboraccedilatildeo social para universidades brasileirasum estudo de caso de implantaccedilatildeo e desenvolvimentodistribuiacutedo de uma plataforma livre na Universidade de
Brasiacutelia
Monografia submetida ao curso de graduaccedilatildeoem (Engenharia de Software) da Universi-dade de Brasiacutelia como requisito parcial paraobtenccedilatildeo do Tiacutetulo de Bacharel em (Enge-nharia de Software)
Trabalho aprovado Brasiacutelia DF 17 de Dezembro de 2013
Prof Dr Paulo Roberto Miranda
Meirelles
Orientador
Prof Dr Leonardo Lazarte
Convidado 1
Profa Dra Milene Serrano
Convidado 2
Brasiacutelia DF2013
Resumo
Este trabalho de conclusatildeo de curso apresenta os resultados de um estudo para viabilizar
a implantaccedilatildeo de uma rede de colaboraccedilatildeo para a Universidade de Brasiacutelia (UnB) que
atue como um ambiente virtual para a criaccedilatildeo e o compartilhamento de conhecimento
de forma colaborativa e horizontal Para isso escolhemos utilizar a plataforma brasileira
para redes sociais livres Noosfero por entender que esta satisfaz as necessidades imediatas
do projeto de acordo com estudos feitos pela Universidade de Satildeo Paulo quando adotou
a mesma Aleacutem da implantaccedilatildeo em si na UnB este estudo contemplou um levantamento
de requisitos e a implementaccedilatildeo de um conjunto de funcionalidades e melhorias para a
plataforma em questatildeo de forma que atendesse as necessidades baacutesicas para podermos
realizar estudos de caso com alunos da UnB Gama Dessa forma indicando como pode-
mos oficializar a rede ComunidadeUnB bem como quais os proacuteximos passos para que
melhor atenda o puacuteblico dessa universidade Adicionalmente os esforccedilos e conhecimento
adquiridos neste trabalho foram repassados para uma equipe de desenvolvedores na UnB
Gama o que proporcionaraacute a continuidade e concretizaccedilatildeo da implantaccedilatildeo desta rede na
UnB em 2014
Palavras-chaves redes sociais software livre requisitos funcionais meacutetodos aacutegeis de-
senvolvimento distribuiacutedo de software
Abstract
This course conclusion work presents the results of a study to enable the deployment
of a collaborative network for the University of Brasilia (UNB) which acts as a virtual
environment for the creation and sharing of knowledge in a collaborative and horizontal
way For this we choose to use a Brazilian free social networks platform Noosfero under-
standing that it satisfies the immediate needs of this proposal according to studies from
University of Satildeo Paulo when it adopted the same Besides the implementation itself at
UNB this study includes a requirements elicitation and the implementation of a set of
features and enhancements to the proposed platform so that it would meet the basic
needs for us to perform case studies with students from UnB Gama Also we pointed
out steps that will enable the continuity and the officialisation of the ComunidadeUnB
network and itrsquos constant evolution Additionally our efforts and knowledge acquired in
this work were transferred to a team of developers at UNB Gama which will provide
continuity to the deployment and implementation of this network in UNB in 2014
Key-words social networking open-source software functional requirements agile meth-
ods distributed software development
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Daniel Costa Bucher
Rede de colaboraccedilatildeo social para universidades brasileirasum estudo de caso de implantaccedilatildeo e desenvolvimentodistribuiacutedo de uma plataforma livre na Universidade de
Brasiacutelia
Monografia submetida ao curso de graduaccedilatildeoem (Engenharia de Software) da Universi-dade de Brasiacutelia como requisito parcial paraobtenccedilatildeo do Tiacutetulo de Bacharel em (Enge-nharia de Software)
Trabalho aprovado Brasiacutelia DF 17 de Dezembro de 2013
Prof Dr Paulo Roberto Miranda
Meirelles
Orientador
Prof Dr Leonardo Lazarte
Convidado 1
Profa Dra Milene Serrano
Convidado 2
Brasiacutelia DF2013
Resumo
Este trabalho de conclusatildeo de curso apresenta os resultados de um estudo para viabilizar
a implantaccedilatildeo de uma rede de colaboraccedilatildeo para a Universidade de Brasiacutelia (UnB) que
atue como um ambiente virtual para a criaccedilatildeo e o compartilhamento de conhecimento
de forma colaborativa e horizontal Para isso escolhemos utilizar a plataforma brasileira
para redes sociais livres Noosfero por entender que esta satisfaz as necessidades imediatas
do projeto de acordo com estudos feitos pela Universidade de Satildeo Paulo quando adotou
a mesma Aleacutem da implantaccedilatildeo em si na UnB este estudo contemplou um levantamento
de requisitos e a implementaccedilatildeo de um conjunto de funcionalidades e melhorias para a
plataforma em questatildeo de forma que atendesse as necessidades baacutesicas para podermos
realizar estudos de caso com alunos da UnB Gama Dessa forma indicando como pode-
mos oficializar a rede ComunidadeUnB bem como quais os proacuteximos passos para que
melhor atenda o puacuteblico dessa universidade Adicionalmente os esforccedilos e conhecimento
adquiridos neste trabalho foram repassados para uma equipe de desenvolvedores na UnB
Gama o que proporcionaraacute a continuidade e concretizaccedilatildeo da implantaccedilatildeo desta rede na
UnB em 2014
Palavras-chaves redes sociais software livre requisitos funcionais meacutetodos aacutegeis de-
senvolvimento distribuiacutedo de software
Abstract
This course conclusion work presents the results of a study to enable the deployment
of a collaborative network for the University of Brasilia (UNB) which acts as a virtual
environment for the creation and sharing of knowledge in a collaborative and horizontal
way For this we choose to use a Brazilian free social networks platform Noosfero under-
standing that it satisfies the immediate needs of this proposal according to studies from
University of Satildeo Paulo when it adopted the same Besides the implementation itself at
UNB this study includes a requirements elicitation and the implementation of a set of
features and enhancements to the proposed platform so that it would meet the basic
needs for us to perform case studies with students from UnB Gama Also we pointed
out steps that will enable the continuity and the officialisation of the ComunidadeUnB
network and itrsquos constant evolution Additionally our efforts and knowledge acquired in
this work were transferred to a team of developers at UNB Gama which will provide
continuity to the deployment and implementation of this network in UNB in 2014
Key-words social networking open-source software functional requirements agile meth-
ods distributed software development
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Resumo
Este trabalho de conclusatildeo de curso apresenta os resultados de um estudo para viabilizar
a implantaccedilatildeo de uma rede de colaboraccedilatildeo para a Universidade de Brasiacutelia (UnB) que
atue como um ambiente virtual para a criaccedilatildeo e o compartilhamento de conhecimento
de forma colaborativa e horizontal Para isso escolhemos utilizar a plataforma brasileira
para redes sociais livres Noosfero por entender que esta satisfaz as necessidades imediatas
do projeto de acordo com estudos feitos pela Universidade de Satildeo Paulo quando adotou
a mesma Aleacutem da implantaccedilatildeo em si na UnB este estudo contemplou um levantamento
de requisitos e a implementaccedilatildeo de um conjunto de funcionalidades e melhorias para a
plataforma em questatildeo de forma que atendesse as necessidades baacutesicas para podermos
realizar estudos de caso com alunos da UnB Gama Dessa forma indicando como pode-
mos oficializar a rede ComunidadeUnB bem como quais os proacuteximos passos para que
melhor atenda o puacuteblico dessa universidade Adicionalmente os esforccedilos e conhecimento
adquiridos neste trabalho foram repassados para uma equipe de desenvolvedores na UnB
Gama o que proporcionaraacute a continuidade e concretizaccedilatildeo da implantaccedilatildeo desta rede na
UnB em 2014
Palavras-chaves redes sociais software livre requisitos funcionais meacutetodos aacutegeis de-
senvolvimento distribuiacutedo de software
Abstract
This course conclusion work presents the results of a study to enable the deployment
of a collaborative network for the University of Brasilia (UNB) which acts as a virtual
environment for the creation and sharing of knowledge in a collaborative and horizontal
way For this we choose to use a Brazilian free social networks platform Noosfero under-
standing that it satisfies the immediate needs of this proposal according to studies from
University of Satildeo Paulo when it adopted the same Besides the implementation itself at
UNB this study includes a requirements elicitation and the implementation of a set of
features and enhancements to the proposed platform so that it would meet the basic
needs for us to perform case studies with students from UnB Gama Also we pointed
out steps that will enable the continuity and the officialisation of the ComunidadeUnB
network and itrsquos constant evolution Additionally our efforts and knowledge acquired in
this work were transferred to a team of developers at UNB Gama which will provide
continuity to the deployment and implementation of this network in UNB in 2014
Key-words social networking open-source software functional requirements agile meth-
ods distributed software development
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Abstract
This course conclusion work presents the results of a study to enable the deployment
of a collaborative network for the University of Brasilia (UNB) which acts as a virtual
environment for the creation and sharing of knowledge in a collaborative and horizontal
way For this we choose to use a Brazilian free social networks platform Noosfero under-
standing that it satisfies the immediate needs of this proposal according to studies from
University of Satildeo Paulo when it adopted the same Besides the implementation itself at
UNB this study includes a requirements elicitation and the implementation of a set of
features and enhancements to the proposed platform so that it would meet the basic
needs for us to perform case studies with students from UnB Gama Also we pointed
out steps that will enable the continuity and the officialisation of the ComunidadeUnB
network and itrsquos constant evolution Additionally our efforts and knowledge acquired in
this work were transferred to a team of developers at UNB Gama which will provide
continuity to the deployment and implementation of this network in UNB in 2014
Key-words social networking open-source software functional requirements agile meth-
ods distributed software development
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Lista de ilustraccedilotildees
Figura 1 ndash Visatildeo arquitetural do Noosfero 26
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis 27
Figura 3 ndash Entidades de domiacutenio tipos de perfis 28
Figura 4 ndash Entidades de domiacutenio tipos de artigos 28
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama 30
Figura 6 ndash Issue Tracker do Noosfero 32
Figura 7 ndash Paacutegina inicial da ComunidadeUnB 34
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber 35
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC 46
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero 46
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar 47
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01 47
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02 48
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03 48
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04 49
Figura 16 ndash Tela inicial da ComunidadeUnB 51
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Lista de abreviaturas e siglas
BDD Behavior Driven Development
CDTC Centro de Difusatildeo de Tecnologia e Conhecimento
CMS Content Management System
CPD Centro de Informaacutetica
DEG Decanato de Ensino de Graduaccedilatildeo
DPP Decanato de Pesquisa e Poacutes-graduaccedilatildeo
FGA Faculdade UnB Gama
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ICC Instituto Central de Ciecircncias
IRC Internet Relay Chat
JSON JavaScript Object Notation
LAPPIS Laboratoacuterio de Produccedilatildeo Pesquisa e Inovaccedilatildeo em Software
LDAP Lightweight Directory Access Protocol
MES Manutenccedilatildeo e Evoluccedilatildeo de Software
MVC Model-View-Controller
ProIC Projeto de Iniciaccedilatildeo Cientiacutefica
PuSH PubSubHubbub
Rails Ruby on Rails
SMT Tecnologias de Miacutedia Social
SSL Secure Socket Layer
TCC Trabalho de Conclusatildeo de Curso
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
TLS Transport Layer Security
UnB Universidade de Brasiacutelia
USP Universidade de Satildeo Paulo
W3C World Wide Web Consortium
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
Sumaacuterio
1 Introduccedilatildeo 15
11 Objetivos 16
111 Objetivos Gerais 16
112 Especiacuteficos 16
12 Organizaccedilatildeo do Trabalho 17
2 Miacutedias Sociais 19
21 A Difusatildeo das Miacutedias Sociais 19
22 Redes Sociais 20
221 Stoa 21
222 TecCiecircncia 21
3 Noosfero 23
31 Software Livre 23
32 Noosfero Uma Plataforma Livre para Redes Sociais 24
4 Uma Rede de Colaboraccedilatildeo para a UnB 29
41 Processo de colaboraccedilatildeo para o Noosfero 30
42 Requisitos Natildeo-funcionais 33
43 Funcionalidades 34
431 Plugin ComunidadeUnB 35
432 Melhorias no plugin de sub-organizaccedilotildees 37
433 Plugin de bloco de video 41
5 Avaliaccedilatildeo da plataforma 45
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de Software 45
52 Pesquisa com os usuaacuterios 46
6 Conclusatildeo 51
61 Trabalhos Futuros 52
611 Federaccedilatildeo Tecnoloacutegica 52
612 Proacuteximas funcionalidades 53
6121 Convite para participaccedilatildeo de comunidades 53
6122 Utilizaccedilatildeo de SSL 54
Referecircncias 55
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
15
1 Introduccedilatildeo
A utilizaccedilatildeo de redes sociais tecircm se tornado cada vez mais comum em especial para
as geraccedilotildees mais jovens Neste contexto natildeo estamos nos referindo apenas ao Facebook
Orkut e Twitter Por exemplo atualmente eacute bem comum empresas terem suas proacuteprias
redes sociais para promoverem a interaccedilatildeo entre os seus funcionaacuterios e colaboradores
como eacute o caso do VocecircSerpro1 A ideia de natildeo depender de redes centralizadas como eacute o
caso das supracitadas faz com que as campanhas de Barack Obama2 nos Estados Unidos
e Dilma Rousseff3 no Brasil sejam exemplos da necessidade de autonomia das suas redes
(e informaccedilotildees delas) e como melhor explorar a Internet que tem em sua concepccedilatildeo ser
descentralizada Argumentamos neste trabalho que as tecnologias de miacutedia social exercem
um papel importante para essa descentralizaccedilatildeo uma vez que possuem como caracteriacutestica
a criaccedilatildeo e o compartilhamento de conteuacutedo de forma horizontal e colaborativa Baseado
nessa visatildeo a proposta desse trabalho eacute disponibilizar um ambiente virtual que possibilite
que os alunos da Universidade de Brasiacutelia criem e compartilhem conhecimento de forma
colaborativa e horizontal
Estudos mostram que a maioria dos alunos de graduaccedilatildeo faz uso de algum tipo de
rede social e que aqueles que participam de forma mais ativa delas tendem a obter maior
riqueza em suas relaccedilotildees sociais (Harvard Institute On Politics 2011 apud DAVIS et al
2012) Tambeacutem deve-se enfatizar que estaacute no cerne da criaccedilatildeo das instituiccedilotildees de ensino
superior universalizar o conhecimento Compartilhar e dar subsiacutedios para que o conhe-
cimento seja disseminado e reproduziacutevel eacute um dos pilares da ciecircncia (KON et al 2011)
Adaptando essas ideias para o ponto de vista tecnoloacutegico sites de rede social satildeo ape-
nas uma camada das tecnologias de miacutedia social A definiccedilatildeo mais ampla de tecnologias
de miacutedia social inclui a totalidade de ldquoprodutosrdquo e ldquoserviccedilosrdquo digitais disponibilizados
online o comportamento social gerado pelo usuaacuterio e a permutaccedilatildeo de conteuacutedo gerado
primariamente pelos proacuteprios usuaacuterios (DAVIS et al 2012)
Natildeo eacute enfoque deste trabalho mas haacute um levantamento que as tecnologias de miacutedia
social deram agraves instituiccedilatildeo de ensino a oportunidade de por exemplo divulgar as conquis-
tas de seus alunos criando assim um sentimento de lealdade e ao mesmo tempo atraindo
alunos em potencial (SOLIS 2008) Aleacutem disso foi constatado que alunos que utilizam
tecnologias de miacutedia social com o propoacutesito de realizar atividades acadecircmicas possuem
maior niacutevel de engajamento nelas (Community College Leadership Program 2009 apud
DAVIS et al 2012)
1 ltvoceserprobrgt acessiacutevel apenas dentro da rede do Serpro lthttpwwwanaisdoconserproserprogovbrmodulescadastro_de_trabalhostrabalhophpcod=219ampano=2012gt
2 lthttpmybarackobamacomgt3 lthttpdilmanaredecombrgt
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
16 Capiacutetulo 1 Introduccedilatildeo
Sob essa perspectiva das redes sociais no acircmbito acadecircmico implantamos uma
versatildeo de homologaccedilatildeo de uma rede social proacutepria para a Universidade de Brasiacutelia de-
nominada de ComunidadeUnB4 baseada na ferramenta de software livre Noosfero5 na
qual os usuaacuterios poderatildeo publicar e compartilhar conteuacutedo livremente e colaborar com a
difusatildeo dessa nuvem de conhecimento e ideias que a Universidade nos proporciona sem
perder a autonomia do mesmo ao inclusive definir os termos de uso e licenccedilas de tais
conteuacutedos Tambeacutem colaboramos diretamente com a comunidade do Noosfero na imple-
mentaccedilatildeo de um conjunto de funcionalidades de acordo com o levantamento de requisitos
feito bem como da avaliaccedilatildeo das melhorias sugeridas pela comunidade do Noosfero que
manteacutem um issue tracker6 puacuteblico em sua paacutegina de desenvolvimento7
11 Objetivos
111 Objetivos Gerais
Neste trabalho de conclusatildeo de curso implementamos as principais funcionalidades
para que uma rede social de colaboraccedilatildeo como o Stoa8 da USP possa ser tambeacutem dispo-
nibilizada na Universidade de Brasiacutelia Dessa forma colaboramos com o desenvolvimento
dessa plataforma interagindo diretamente com a comunidade de desenvolvedores do No-
osfero utilizando praacuteticas de desenvolvimento aacutegeis e de desenvolvimento colaborativo
tanto de forma presencial quanto e distribuiacutedo
112 Especiacuteficos
Os objetivos especiacuteficos desse trabalho foram
1 Identificar as tecnologias utilizadas pela UnB atraveacutes das quais seraacute possiacutevel autenticar-
se na comunidade
2 Implantar uma instacircncia do Noosfero e disponibilizar para a comunidade
3 Integrar a instacircncia do Noosfero agraves tecnologias cabiacuteveis
4 Adequar a instacircncia do Noosfero ao padratildeo visual da UnB
5 Levantar junto aos estudantes um conjunto de funcionalidades a serem incorporadas
ao Noosfero para disponibilizar um ambiente virtual adequado ao ensino
4 lthttpcomunidadeunbbrgt5 lthttpnoosferoorggt6 lthttpenwikipediaorgwikiIssue_tracking_systemgt7 lthttpsnoosferoorgDevelopmentgt8 lthttpsocialstoauspbrgt
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
12 Organizaccedilatildeo do Trabalho 17
6 Desenvolver novas funcionalidades selecionadas e melhorias (correccedilotildees de defeitos)
necessaacuterias
12 Organizaccedilatildeo do Trabalho
Durante a primeira fase do projeto o trabalho foi conduzido na forma de pesquisas
de fundamentaccedilatildeo teoacuterica sobre o uso de miacutedias sociais Posteriormente instalamos uma
instacircncia do Noosfero em um servidor de testes disponibilizado para noacutes pelo Centro de
Difusatildeo de Tecnologia e Conhecimento (CDTC)9
As pesquisas para levantamento de funcionalidades junto aos estudantes da uni-
versidade foi realizada atraveacutes de um questionaacuterio hiacutebrido com questotildees objetivas com
possibilidade de justificativa das respostas Para a fase de desenvolvimento do trabalho
utilizamos algumas praacuteticas das metodologias aacutegeis como a realizaccedilatildeo de ciclos curtos
de desenvolvimento programaccedilatildeo em par sempre que possiacutevel envolvendo membros da
comunidade mantenedora do Noosfero e colaboradores da UnB Gama e com o conjunto
de testes automatizados (de unidade funcional e de aceitaccedilatildeo) para cada funcionalidade
seguindo o desenvolvimento dirigido por comportamento (BDD)10 quando possiacutevel
Para apresentar nossa evoluccedilatildeo e resultados este texto aleacutem desta introduccedilatildeo este
texto estaacute organizado em capiacutetulos O Capiacutetulo 2 apresenta uma visatildeo geral sobre miacutedias
sociais O Capiacutetulo 3 apresenta a plataforma para criaccedilatildeo de redes sociais livres Noosfero
No capiacutetulo 4 introduzimos a rede ComunidadeUnB as funcionalidades desenvolvidas
por noacutes e uma descriccedilatildeo do processo de colaboraccedilatildeo para o Noosfero
9 lthttpwwwcdtcorgbrgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
19
2 Miacutedias Sociais
A miacutedia social como uma tecnologia se tornou um fenocircmeno em crescimento com
diversas definiccedilotildees para o puacuteblico (DAVIS et al 2012) No geral miacutedia social se refere agraves
miacutedias utilizadas para possibilitar a interaccedilatildeo social No contexto desse trabalho tecno-
logias de miacutedias sociais (SMT - Social Media Technology) diz respeito a aplicaccedilotildees web
e mobile que permitem que indiviacuteduos e organizaccedilotildees criem e compartilhem novos con-
teuacutedos gerados pelo usuaacuterio ou conteuacutedos jaacute existentes em ambiente digital atraveacutes de
comunicaccedilatildeo em vaacuterias vias (DAVIS et al 2012) Eacute importante notar a diferenccedila entre
conteuacutedo gerado pelo usuaacuterio que eacute uma forma de miacutedia natildeo tradicional desenvolvida e
produzida por usuaacuterios e conteuacutedo jaacute existente que em geral se refere agrave miacutedia tradicional
(jornais revistas raacutedios e televisatildeo) reproduzida para a web Aleacutem destas caracteriacutesti-
cas as SMT tambeacutem contecircm elementos de design que criam espaccedilos sociais virtuais que
encorajam a interaccedilatildeo ampliam o apelo da tecnologia e promovem transiccedilotildees nos dois
sentidos entre a interaccedilatildeo atraveacutes da plataforma e a interaccedilatildeo presencial (DAVIS et al
2012)
As aplicaccedilotildees de miacutedias sociais compartilham a habilidade natural de viabilizar
comportamento social atraveacutes do diaacutelogo - discussotildees de muacuteltiplas vias que fornecem a
oportunidade de descobrir e compartilhar informaccedilatildeo nova (SOLIS 2008) Portanto as
SMT satildeo um terreno vasto como software com possibilidades de uso variadas natildeo estando
limitada a redes sociais compartilhamento de viacutedeo ou blogs Uma definiccedilatildeo das SMT
mais abrangente seria a totalidade de produtos e serviccedilos digitais disponibilizados online
o comportamento social e troca de conteuacutedo que possuem como fonte principalmente o
usuaacuterio (DAVIS et al 2012)
21 A Difusatildeo das Miacutedias Sociais
Com a proliferaccedilatildeo das redes sociais e outras plataformas de miacutedia social nos uacutelti-
mos anos a pervasividade da internet se tornou mais evidente do que nunca (DAVIS et al
2012) Levamos aspectos de nossas vidas pessoais nossos pensamentos poliacuteticos nossas
experiecircncias profissionais dentre outros para a internet Diferente de outras tecnologias
de comunicaccedilatildeo na internet as SMT nos forneceram um ambiente virtual que nos remete
a elementos de comunidade vivenciados fora da internet (DAVIS et al 2012)
As SMT diminuiacuteram o custo para se colaborar compartilhar e produzir assim
fornecendo novas e revolucionaacuterias formas de resolver problemas (SHIRKY 2010) Agora
podemos manter e acessar comunidades online e ao mesmo tempo utilizar as SMT como
ferramentas para transitar entre o contato online e o contato presencial atraveacutes de ami-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
20 Capiacutetulo 2 Miacutedias Sociais
zades atividades planejadas e eventos marcados (SHIRKY 2010)
As miacutedias sociais tornaram-se uma parte importante do cotidiano dos atuais jo-
vens Eacute cada vez mais difiacutecil separar as relaccedilatildeo em comunidades virtuais das relaccedilotildees em
comunidades ldquoreaisrdquo (DAVIS et al 2012) Se considerarmos a geraccedilatildeo que natildeo conheceu
um mundo sem as tecnologias de miacutedia social existe um intercacircmbio contiacutenuo entre o ex-
periecircncias fiacutesicas e digitais (DAVIS et al 2012) Como um possiacutevel resultado disso esses
nativos da era digital podem experimentar um desenvolvimento do ceacuterebro fundamental-
mente diferente que favorece a comunicaccedilatildeo constante e a multi-tarefa (PRENSKY 2001)
amp (SMALL VORGAN 2008)
22 Redes Sociais
Eacute comum vermos a utilizaccedilatildeo do termo ldquoredes sociaisrdquo para se dirigir a todos os
tipos de miacutedias sociais mediadas por computador no entanto vale ressaltar que em-
bora muito relevante redes sociais satildeo apenas uma das camadas das miacutedias sociais
Boyd e Ellison (2007 apud BEER 2008) definem sites de redes sociais como serviccedilos
web que permitem que seus usuaacuterios criem perfis atraveacutes desses perfis conexotildees com
outros usuaacuterios busquem e cruzem informaccedilatildeo dentro dessa lista de conexotildees
No contexto deste trabalho estamos tratando especificamente redes sociais como
redes usadas com o objetivo de promover a interaccedilatildeo em torno das colaboraccedilotildees em si
e natildeo das pessoas ou seja expandindo para o conceito de redes de colaboraccedilatildeo o que
se aplica ao contexto de uma rede de nicho de uma universidade Por exemplo as pes-
soas entram na rede para fazerem parte e acompanharem uma disciplina um projeto ou
um determinado grupo de trabalho da universidade Nesse cenaacuterio hipoteticamente o
professor ao divulgar um curso multidisciplinar pode usufruir das estatiacutesticas e compor-
tamentos das pessoas na rede para chegar ao seu puacuteblico alvo Da mesma forma alunos
podem encontrar projetos e grupos de trabalhos de seu interesse ao explorar a rede com
a ajuda da proacutepria rede de colaboraccedilatildeo
Argumentamos que esse tipo de dinacircmica natildeo eacute possiacutevel em redes centralizadoras
e monopolistas porque nelas o conteuacutedo em geral eacute pulverizado (e em alguns casos
controlado) Isso somado ao fato da caracteriacutestica principal da Internet ser uma ldquorede de
redesrdquo faz com que as redes sociais e de colaboraccedilatildeo tendam a serem melhor utilizadas
em um nicho especiacutefico e com autonomia para seus gestores e usuaacuterios
Natildeo entrando no meacuterito do uso de redes sociais na educaccedilatildeo uma vez que natildeo
tratamos disto neste trabalho nessa seccedilatildeo apresentamos dois casos de utilizaccedilatildeo de redes
sociais como rede de colaboraccedilatildeo para disseminaccedilatildeo de conhecimento para exemplificar-
mos algumas possibilidades de uso Em ambos os casos tais redes foram criadas atraveacutes
de software livres no caso a plataforma para redes sociais Noosfero que apresentaremos
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
22 Redes Sociais 21
em detalhes no capiacutetulo 3 desse texto
221 Stoa
Baseado nas ideias discutidas anteriormente a Universidade de Satildeo Paulo criou o
projeto Stoa1 uma rede de colaboraccedilatildeo e disseminaccedilatildeo do conhecimento apoiada por trecircs
princiacutepios o compartilhamento a liberdade e a horizontalidade A rede Stoa permite ao
usuaacuterio a criaccedilatildeo de seu espaccedilo pessoal e a liberdade de publicar suas ideias ou o conteuacutedo
que desejar por exemplo na forma de blogs pessoais blogs de disciplinas pesquisas em
andamento dentre outras aleacutem de compartilhar esse conteuacutedo para ser acessiacutevel para
outros usuaacuterios da rede (e fora da rede)
O Stoa foi lanccedilado em 2007 baseado na plataforma de software livre Elgg2 Por
volta de 2010 comeccedilou-se a perceber algumas limitaccedilotildees das tecnologias utilizadas e
foram feitas pesquisas para levantar alternativas que permitissem implantar uma rede
social de colaboraccedilatildeo com qualidade e que fosse compatiacutevel com conceitos da chamada
Web 20 Foi optado pelo Noosfero3 uma plataforma para criaccedilatildeo de rede sociais e de
economia solidaacuteria livre desenvolvida pela Empresa Cooperativa Colivre4 por este ter
um grande potencial devido as suas funcionalidades avanccediladas que permitem a criaccedilatildeo e o
compartilhamento de conteuacutedo de forma satisfatoacuteria Outro fator considerado foi a posiccedilatildeo
geograacutefica favoraacutevel que permite uma aproximaccedilatildeo privilegiada do nuacutecleo desenvolvedor
do mesmo Em Dezembro de 2012 a USP lanccedilou a nova versatildeo da rede social do Stoa
baseado no Noosfero e a chamando de rede de colaboraccedilatildeo
O Stoa natildeo se propotildee a ser a uacutenica rede de colaboraccedilatildeo acadecircmica no Brasil A
proposta de seus idealizadores com quem tambeacutem interagimos durante este trabalho eacute
que a experiecircncia na Universidade de Satildeo Paulo possa ser replicada em outras instituiccedilotildees
de ensino brasileiras A rede do Stoa tem o objetivo de ser uma rede dentre outras redes
mas com a ideia de poder interagir com as demais redes em especial quando plataformas
de rede sociais suportarem a denominada federaccedilatildeo entre as redes5 Por conta da perti-
necircncia da implementaccedilatildeo de um protocolo aberto de federaccedilatildeo no Noosfero na Seccedilatildeo 61
de trabalhos futuros apresentamos um breve relato de possiacuteveis protocolos que podem
ser incorporados nessa plataforma
1 ltsocialstoauspbrgt2 ltelggorggt3 ltnoosferoorggt4 ltcolivrecoopbrgt5 O termo redes sociais federadas eacute usado para indicar uma rede social autocircnoma controlada por uma
entidade mas que possibilita a interaccedilatildeo atraveacutes de regras acordadas com usuaacuterios ou entidades deoutras redes federadas sem a necessidade de criar uma conta na segunda (PRODOMOU 2010)
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
22 Capiacutetulo 2 Miacutedias Sociais
222 TecCiecircncia
Outro caso de uso de redes sociais de compartilhamento de conhecimento surgiu
atraveacutes do projeto EDUCANDOW - Educaccedilatildeo em Ciecircncia e Tecnologia para Escolas de
Ensino Fundamental do Municiacutepio Candeias (SANTOS SCHWARZELMuumlLLER LIMA
2012) O projeto EDUCANDOW surgiu em 2007 atraveacutes de uma parceria entre a empresa
Dow Brasil SA e o Departamento de Ciecircncia da Computaccedilatildeo da Universidade Federal
da Bahia com o objetivo de promover uma educaccedilatildeo baacutesica qualificada e consistente com
as tendecircncias tecnoloacutegicas do momento Como parte do projeto em 2009 foi implantada
uma rede social denominada TecCiencia6 na escola SESI de Candeias Bahia
A equipe do projeto EDUCANDOW buscou experimentar uma perspectiva edu-
cacional que alinhe a educaccedilatildeo agraves tecnologias contemporacircneas No texto eacute defendida a
ideia de que a praacutetica pedagoacutegica coerente com a sociedade atual implica no uso constante
de ferramentas digitais e na educaccedilatildeo em rede para quebrar a verticalizaccedilatildeo da relaccedilatildeo
professoraluno (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Resolveram entatildeo apostar no software livre por entender que este eacute um integrante
fundamental no ensino tecnoloacutegico e tambeacutem adotaram a plataforma Noosfero por sua
capacidade de ser facilmente adaptado para as mais variadas necessidades O TecCiencia
apresenta-se como um ambiente de aprendizado interativo que volta-se para a organi-
zaccedilatildeo desse aprendizado atraveacutes da disponibilizaccedilatildeo de comunidades que permitem aos
estudantes a construccedilatildeo do conhecimento a medida que satildeo desafiados agrave buscar soluccedilotildees
para problemas de forma colaborativa (SANTOS SCHWARZELMuumlLLER LIMA 2012)
Assim como no caso do Stoa o TecCiencia provecirc um ambiente que permite a
continuidade do aprendizado em sala de aula em um ambiente virtual compartilhado
Nas instituiccedilotildees de ensino por exemplo suas estruturas fiacutesicas tentam equilibrar espaccedilos
ldquoformaisrdquo como as salas de aula com ambientes puacuteblicos de relaccedilatildeo social entre profes-
sores alunos e funcionaacuterios como praccedilas cantinas centros acadecircmicos entre outros Da
mesma forma o Stoa e TecCiencia tentam ser esse espaccedilo aberto e puacuteblico de colaboraccedilatildeo
no ldquomundo virtualrdquo contraponto com por exemplo seus sites institucionais Na UnB o
ComunidadeUnB teraacute este mesmo objetivo atraveacutes da implantaccedilatildeo de uma rede tambeacutem
baseada no Noosfero (que apresentaremos no proacuteximo capiacutetulo)
6 ltteccienciaufbabrgt
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
23
3 Noosfero
Nesse capiacutetulo discutimos os benefiacutecios da utilizaccedilatildeo de uma plataforma de soft-
ware livre bem como apresentamos a plataforma para criaccedilatildeo de redes sociais livres
Noosfero Escolhemos trabalhar com software livre por entendermos que este eacute um inte-
grante fundamental no ensino da ciecircncia e tecnologia estando alinhado agrave ideologia de livre
compartilhamento de conhecimento (KON et al 2011) Outro fator para a utilizaccedilatildeo de
software livre eacute o fato de natildeo termos que nos comprometermos a assinar um termo de
compromisso restritivo em redes sociais proprietaacuterias que em geral possuem claacuteusula
que datildeo agrave empresa proprietaacuteria a propriedade intelectual em cima de todo o conteuacutedo
gerado nela
31 Software Livre
Extraiacutedo da tese de doutorado de Meirelles (2013) discutiremos os principais pon-
tos relacionados ao que eacute software livre do ponto de vista legal e das vantagens do desen-
volvimento colaborativo Primeiramente o que define e diferencia o software livre do que
podemos denominar de software restrito passa pelo entendimento desses quatro pontos
dentro do que eacute conhecido como o ecossistema do software livre O princiacutepio baacutesico desse
ecossistema eacute promover a liberdade do usuaacuterio sem discriminar quem tem permissatildeo para
usar um software e seus limites de uso baseado na colaboraccedilatildeo e num processo de de-
senvolvimento aberto Software livre eacute aquele que permite aos usuaacuterios usaacute-lo estudaacute-lo
modificaacute-lo e redistribui-lo em geral sem restriccedilotildees para tal e prevenindo que natildeo se-
jam impostas restriccedilotildees aos futuros usuaacuterios Mais precisamente o software livre garante
quatro direitos a seus usuaacuterios1
bull A liberdade de utilizar o software para qualquer propoacutesito
bull A liberdade de estudar como o software funciona e adaptaacute-lo para suas necessidades
bull A liberdade de redistribuir coacutepias para seus vizinhos
bull A liberdade de aprimorar o software e redistribuir seus aprimoramentos para o
puacuteblico de forma a beneficiar toda a comunidade
Outro ponto eacute que esse software existe por meio de projetos de desenvolvimento
que estatildeo centrados em torno de algum coacutedigo-fonte acessiacutevel ao puacuteblico geralmente em
um repositoacuterio na Internet onde desenvolvedores e usuaacuterios podem interagir O coacutedigo eacute1 Extraiacutedo de lthttpwwwgnuorggt em Dezembro de 2013
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
24 Capiacutetulo 3 Noosfero
necessariamente licenciado sob termos legais formais que estatildeo de acordo com as definiccedilotildees
da Free Software Foundation2 ou da Open Source Initiative3
Uma vantagem oferecida pelo software livre em comparaccedilatildeo ao software restrito
vem do fato de que o coacutedigo-fonte pode ser livremente compartilhado Esse compartilha-
mento pode simplificar o desenvolvimento de aplicaccedilotildees personalizadas que natildeo precisam
ser programadas a partir do zero mas podem basear-se em soluccedilotildees jaacute existentes
Outra vantagem resultante do compartilhamento do coacutedigo refere-se agrave possiacutevel
melhoria na qualidade em particular frente aos problemas inerentes agrave sua complexidade
(RAYMOND 1999) Isso se deve ao maior nuacutemero de desenvolvedores e usuaacuterios en-
volvidos com o software Em outras palavras um nuacutemero maior de desenvolvedores com
diferentes perspectivas e necessidades eacute capaz de identificar melhorias e corrigir mais bugs
em menos tempo e consequentemente promover refatoraccedilotildees que geralmente levam agrave
melhoria do coacutedigo Aleacutem disso um nuacutemero maior de usuaacuterios gera situaccedilotildees de uso e
necessidades mais variadas o que se traduz em um maior nuacutemero de bugs identificados e
mais sugestotildees de melhorias
32 Noosfero Uma Plataforma Livre para Redes Sociais
Noosfero4 eacute uma plataforma web livre para criaccedilatildeo de redes sociais desenvolvida
pela Cooperativa de Tecnologias Livres - Colivre5 em 2007 sob licenccedila AGPL v3 com
a proposta de permitir aos usuaacuterios criarem sua proacutepria rede social personalizada livre e
autocircnoma
O Noosfero foi desenvolvido na linguagem de programaccedilatildeo Ruby6 versatildeo 187 e
utiliza o framework Model-View-Controller (MVC) para aplicaccedilotildees web Ruby on Rails7
versatildeo 235 A escolha destas tecnologias por parte dos criadores do Noosfero que tam-
beacutem trabalhamos juntos no contexto deste trabalho foi baseada no fato de que o Ruby
possui uma sintaxe simples elegante e de faacutecil leitura o que aumenta a manutenibilidade
do sistema uma caracteriacutestica importante num projeto de software livre que visa atrair
desenvolvedores externos (MEIRELLES 2013) Outras caracteriacutesticas importantes que
influenciaram essa escolha satildeo a alta capacidade produtiva que o framework possui por
priorizar conceitos como convention over configuration (convenccedilatildeo antes de configuraccedilatildeo)
e DRY8 (Donrsquot Repeat Yourself - Natildeo Repita a Si Mesmo) bem como o alinhamento entre
a comunidade do Ruby on Rails com metodologias aacutegeis de desenvolvimento de software
2 lthttpwwwgnuorgphilosophyfree-swhtmlgt3 lthttpwwwopensourceorgdocsdefinitionhtmlgt4 lthttpwwwnoosferoorggt5 lthttpwwwcolivrecoopbrgt6 lthttpwwwruby-langorgengt7 lthttprubyonrailsorggt8 Uma forma de apologia ao reuso de coacutedigo
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
32 Noosfero Uma Plataforma Livre para Redes Sociais 25
que satildeo evidenciadas em uma seacuterie de ferramentas que viabilizam o uso de praacuteticas como
TDD9 e BDD10 praacuteticas adotadas no desenvolvimento do Noosfero e neste trabalho
A seguranccedila tambeacutem foi uma preocupaccedilatildeo na concepccedilatildeo do Noosfero o que levou
os desenvolvedores a tomar a decisatildeo de homologar a ferramenta apenas para a versatildeo do
Debian11 stable por este ser reconhecido por passar por rigorosos testes de seguranccedila e
correccedilatildeo de falhas antes de seu lanccedilamento Para manter a compatibilidade as versotildees do
Ruby e do Rails utilizadas no Noosfero satildeo as versotildees disponibilizadas nos repositoacuterios do
Debian12
A arquitetura do Noosfero foi pensada para permitir que este seja facilmente ex-
pansiacutevel de forma que funcionalidades que natildeo sejam comuns ao conceito de redes sociais
sejam desenvolvidas como plugins assim diminuindo o acoplamento e aumentando a coe-
satildeo dos diversos moacutedulos do sistema Uma das grandes vantagens em se criar uma aplica-
ccedilatildeo com arquitetura extensiacutevel eacute a possibilidade de criar plugins sem precisar modificar o
coacutedigo fonte do nuacutecleo da ferramenta aleacutem de permitir o isolamento de bugs encontrados
mais facilmente
Os mantenedores do Noosfero responsaacuteveis por aprovar solicitaccedilotildees de alteraccedilatildeo
no coacutedigo exigem que os plugins tenham um certo niacutevel de testes para que esses possam
ser incorporados agrave uma versatildeo do Noosfero evitando a inserccedilatildeo de bugs que afetem o core
ou outros plugins aleacutem de manter o padratildeo de qualidade de coacutedigo
Essa abordagem arquitetural eacute muito beneacutefica para a diversidade de contextos em
que o Noosfero pode ser utilizado Diversidade essa que pode ser evidenciada quando se
observa a existecircncia de uma rede como o Cirandas13 uma rede social com o propoacutesito
de promover economia solidaacuteria atraveacutes da troca e venda de produtos e serviccedilos e o
Stoa um ambiente virtual para a disseminaccedilatildeo de conhecimento em acircmbito acadecircmico
de forma colaborativa ambos desenvolvidos utilizando o Noosfero Dessa forma os dois
ambientes satildeo instacircncias do Noosfero que utilizam o seu nuacutecleo comum mas diferem no
uso de plugins com funcionalidades proacuteprias agraves suas necessidades especiacuteficas Na seccedilatildeo 43
apresentamos algumas funcionalidades que seratildeo desenvolvidas no formato de plugins
A Figura 1 apresenta uma visatildeo arquitetural de alto niacutevel do nuacutecleo do Noosfero
9 Desenvolvimento orientado a testes10 Design orientado a comportamento11 lthttpwwwdebianorggt12 Por exemplo a falha de seguranccedila no Ruby on Rails descrita em lthttpnewsycombinatorcom
itemid=5035023gt natildeo impactou o Noosfero uma vez diferente do Redmine uma ferramenta degestatildeo de projeto amplamente utilizada o primeiro natildeo tem uma coacutepia do Ruby on Rails dentro doseu coacutedigo-fonte o que eacute uma praacutetica ruim por dificultar como lidar com problemas de seguranccedilaO Noosfero utiliza o pacote do Ruby on Rails oficial do Debian de forma que uma vez que a vulne-rabilidade eacute corrigida no Debian natildeo eacute preciso corrigir no Noosfero No caso do Redmine a versatildeoempacotada no Debian tambeacutem utiliza essa abordagem que faz parte da poliacutetica teacutecnica do Debianou seja natildeo embarcar coacutepias de bibliotecas frameworks etc
13 lthttpscirandasnetgt
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
26 Capiacutetulo 3 Noosfero
DB
Browser
Varnish
Apache
Thin
Action Dispatch
ltltCore do Noosferogtgt
Model Controller View
Active Record
Figura 1 ndash Visatildeo arquitetural do Noosfero
Vale a pena ressaltarmos alguns componentes desta arquitetura
bull Varnish acelerador de aplicaccedilotildees web tambeacutem conhecido como cache de proxy
reverso HTTP Eacute utilizado quando for necessaacuterio acessar conteuacutedo estaacutetico imagens
scripts e folhas de estilos
bull Apache web-server utilizado como servidor de proxy reverso Sua funccedilatildeo eacute enca-
minhar as requisiccedilotildees que chegam para uma das instacircncias do Thin
bull Thin app-server utilizado para processar as requisiccedilotildees de entrada e saiacuteda e encaminhaacute-
las para o Noosfero para que ele possa executaacute-las Pode ser configurado para utilizar
mais de um processo para realizar balanceamento de carga Eacute recomendaacutevel o uso
de dois processos do Thin por nuacutecleo de processador do servidor hospedeiro
bull ActionDispatch funciona como roteador Sua funccedilatildeo eacute mapear as requisiccedilotildees que
chegam a suas respectivas controllers
bull Controller controla o fluxo da aplicaccedilatildeo Realiza a ligaccedilatildeo entre as entidades de
model e de view atraveacutes de chamadas de meacutetodos
bull Model representa as entidades do domiacutenio da aplicaccedilatildeo A loacutegica da aplicaccedilatildeo eacute
implementado nas classes de model
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
32 Noosfero Uma Plataforma Livre para Redes Sociais 27
bull View responsaacutevel pela visualizaccedilatildeo das paacuteginas isto eacute as saiacutedas em HTML da
aplicaccedilatildeo
bull Active Record realiza o mapeamento entre os objetos de model e o modelo rela-
cional utilizado no banco de dados da aplicaccedilatildeo
Figura 2 ndash Entidades de domiacutenio relaccedilatildeo entre ambientes domiacutenios e perfis
O Noosfero eacute uma plataforma multi-ambiente o que significa que se pode ter duas
redes sociais distintas com domiacutenios usuaacuterios e comunidades distintas em uma mesma
instalaccedilatildeo conforme ilustrado na Figura 2 A entidade Profile em portuguecircs Perfil eacute
uma abstraccedilatildeo das trecircs formas de entidades concretas de perfil existentes no Noosfero
pessoa comunidade e empreendimento (em inglecircs person community e enter-
prise) Em outras palavras as trecircs entidades possuem caracteriacutesticas em comum e satildeo
tratadas como uma soacute em determinados contextos dentro da aplicaccedilatildeo Existe ainda outra
entidade que abstraiacute o comportamento comum a comunidades e empreendimentos
chamada de organizaccedilatildeo (em inglecircs organization)
A Figura 3 apresenta a relaccedilatildeo entre os tipos de perfil A seta com a cabeccedila trian-
gular representa uma relaccedilatildeo de heranccedila14 entre as classes que representam as entidades
de domiacutenio Existe ainda a entidade User ou Usuaacuterio que eacute mantida separada da en-
tidade Pessoa por questotildees de design do coacutedigo da aplicaccedilatildeo que eacute quem implementa a
loacutegica de autenticaccedilatildeo da aplicaccedilatildeo Desta forma a loacutegica de autenticaccedilatildeo fica separada
da loacutegica de visualizaccedilatildeo e personalizaccedilatildeo do perfil Por fim as entidades mostradas na
Figura 4 representam os principais tipos de conteuacutedos disponiacuteveis no Noosfero artigos
de texto pastas blogs galerias de imagens arquivos e feeds de notiacutecias assim
como a relaccedilatildeo de heranccedila entre estes
Mesmo com as vantagens do ponto de vista arquitetural e a constante evoluccedilatildeo do
Noosfero essa plataforma ainda necessita de algumas melhorias e novas funcionalidades
que foram atendidas em parte neste trabalho com a implementaccedilatildeo eou evoluccedilatildeo de14 lthttpenwikipediaorgwikiInheritance_(object-oriented_programming)gt
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
28 Capiacutetulo 3 Noosfero
Figura 3 ndash Entidades de domiacutenio tipos de perfis
Figura 4 ndash Entidades de domiacutenio tipos de artigos
plugins na maioria dos casos de nossas colaboraccedilotildees Tambeacutem para avaliarmos a implan-
taccedilatildeo do Noosfero na UnB prototipamos um plugin para autenticaccedilatildeo na base de dados
da UnB de acordo ateacute o momento com as autorizaccedilotildees cedidas pelos departamentos res-
ponsaacuteveis15 e interaccedilotildees com o Centro de Processamento de Dados (CPD) da instituiccedilatildeo
Esses plugins e as demais colaboraccedilotildees atendendo os requisitos levantados e descritos
seratildeo apresentados na Seccedilatildeo 43 do proacuteximo capiacutetulo
15 As autorizaccedilotildees foram gentilmente solicitadas atraveacutes do CDTC para os oacutergatildeos responsaacuteveis poradministrar as diversas bases de dados da UnB como por exemplo o Decanato de Ensino de Graduaccedilatildeo(DEG) responsaacutevel pela base de dados de alunos
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
29
4 Uma Rede de Colaboraccedilatildeo para a UnB
Como jaacute exposto o objetivo deste trabalho eacute disponibilizar um ambiente virtual
no qual alunos professores e servidores teacutecnico-administrativos tenham um espaccedilo para a
criaccedilatildeo e o compartilhamento de conhecimento na forma de uma rede de colaboraccedilatildeo livre
para a Universidade de Brasiacutelia o ComunidadeUnB Para isto escolhemos a plataforma
Noosfero por entender que (i) as funcionalidades de rede social e de CMS satisfazem nossas
necessidades (ii) aleacutem das vantagens existentes por este ser uma plataforma de software
livre (iii) por ser expansiacutevel (atraveacutes de plugins) (iv) por ter uma comunidade ativa e
pela posiccedilatildeo geograacutefica favoraacutevel que possuiacutemos em relaccedilatildeo ao nuacutecleo de desenvolvimento
dela que estaacute no Brasil Desta forma conseguimos facilmente contactar os principais
desenvolvedores do Noosfero e organizar encontros para discutir parcerias como ocorrido
algumas vezes durante este trabalho tanto presencialmente quanto remotamente
Aleacutem de um ambiente virtual para interaccedilatildeo social queremos que a rede proposta
funcione como um ambiente para os alunos professores e funcionaacuterios da universidade
compartilharem ideias produzirem conteuacutedo de forma colaborativa bem como publicaacute-lo
para que possa ser de utilidade para outras pessoas ou parcelas da sociedade uma vez que
entendemos (e defendemos) ser este um dos papeacuteis de uma Universidade universalizar o
conhecimento O ambiente disponibiliza para seus usuaacuterios a capacidade de criar blogs
comunidades de se relacionar com outras pessoas e ao mesmo tempo associar seu perfil
agrave ldquomarcardquo da Universidade de Brasiacutelia
As comunidades no ComunidadeUnB podem ser utilizadas para construir e pu-
blicar conteuacutedo de aacutereas de conhecimento disciplinas e projetos acadecircmicos de forma co-
laborativa como ocorreu em nossos estudos de caso em trecircs disciplinas da UnB Gama
Dentre as vantagens dessa abordagem podemos destacar a possibilidade de acesso do
puacuteblico ao conteuacutedo e a continuidade do conteuacutedo desenvolvido nas comunidades para
outras pessoas que eventualmente se juntem ao longo do tempo Entretanto o Noosfero
permite configurar a publicaccedilatildeo do conteuacutedo de suas comunidades de forma a decidir
quais conteuacutedos seratildeo expostos ao puacuteblico e quais seriam mantidos privados
O Noosfero permite tambeacutem fazer uso de suas funcionalidades de CMS para a cria-
ccedilatildeo de portais institucionais para faculdades departamentos laboratoacuterios dentre outros
A Figura 5 apresenta o uso de um ambiente Noosfero como portal para a Faculdade UnB
Gama (FGA) que tambeacutem recebeu colaboraccedilotildees durante este trabalho desde o desen-
volvimento de funcionalidades com a equipe passando pelo treinamento da mesmo ateacute
a revisatildeo de coacutedigo de contribuiccedilotildees da mesma No contexto do Portal da FGA pode-
mos ter comunidades dentro do ComunidadeUnB com temas proacuteprios que funcionariam
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
30 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 5 ndash Ambiente Noosfero como portal da Faculdade do Gama
como portais institucionais Em outras palavras dependendo do que for planejado para
o ComunidadeUnB o Portal da FGA pode no futuro e na praacutetica ser uma comunidade
dentro do ComunidadeUnB com os seus respectivos sub-grupos
Nesse capiacutetulo apresentaremos as funcionalidades desenvolvidas para contribuir
para a adequaccedilatildeo do Noosfero como uma rede de colaboraccedilatildeo para universidades os re-
quisitos natildeo-funcionais levantados para que esta possa suprir as necessidades de seguranccedila
e confiabilidade e o processo de colaboraccedilatildeo com o Noosfero O capiacutetulo 6 na seccedilatildeo de
trabalhos futuros apresenta outras funcionalidades que foram levantadas por noacutes mas natildeo
foram desenvolvidas ao longo deste trabalho
41 Processo de colaboraccedilatildeo para o Noosfero
Um desafio frequente encontrado em comunidades de software livre principalmente
comunidades de projetos menores ou novos eacute elaborar um processo e utilizar ferramentas
que facilitem e incentivem a entrada de novas pessoas Reis (2003) identificou que 65 dos
projetos de software livre utilizam ferramentas de controle de versatildeo listas de correio ele-
trocircnico e a paacutegina do projeto na internet como ferramenta de comunicaccedilatildeo entre usuaacuterios
e desenvolvedores Hoje dez anos depois desse levantamento podemos ter em mente que
esse percentual seja bem maior Em 2011 uma pesquisa realizada por Corbucci (2011)
para sua dissertaccedilatildeo de mestrado identificou listas de correio eletrocircnico como sendo a fer-
ramenta de comunicaccedilatildeo mais comum em projetos de software livre seguido pelo Internet
Relay Chat (IRC) A comunidade do Noosfero faz uso de todas as ferramentas citadas
acima com o objetivo de minimizar os problemas de comunicaccedilatildeo ocasionados pelo fato
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
41 Processo de colaboraccedilatildeo para o Noosfero 31
da equipe estar distribuiacuteda ao redor do mundo bem como possibilitar que novos membros
da comunidade sejam eles desenvolvedores ou usuaacuterios possam se integrar do que estaacute
ocorrendo no projeto e interagir com os demais membros
As lista de correio eletrocircnico1 (satildeo duas uma em portuguecircs para comunidade
brasileira e outra em inglecircs para os desenvolvedores como um todo brasileiros ou natildeo)
eacute a principal ferramenta de comunicaccedilatildeo Aleacutem disso a comunidade manteacutem um canal
no IRC2 para tirar duacutevidas e proporcionar um canal de comunicaccedilatildeo mais dinacircmica
Outra iniciativa recente da comunidade para melhorar a comunicaccedilatildeo e manter os diversos
nuacutecleos de desenvolvimento do Noosfero a par das uacuteltimas atualizaccedilotildees eacute a de realizar
quinzenalmente reuniotildees via viacutedeo-conferecircncia
A paacutegina do Noosfero3 possui uma seccedilatildeo de desenvolvimento4 que apresenta infor-
maccedilotildees necessaacuterias para pessoas que queiram comeccedilar a colaborar com o mesmo Nessa
paacutegina encontramos tambeacutem um issue tracker utilizado para cadastrar e mapear o desen-
volvimento das funcionalidades e as correccedilotildees de bugs do Noosfero Satildeo disponibilizados
dois issue trackers diferentes um para funcionalidades e outro para bugs Ao cadastrar
um novo item (tambeacutem chamado de issue ou Action Item) o desenvolvedor preenche os
campos com o tiacutetulo daquele item uma ou mais categorias para aquele item (eg Chat
RSSFeeds) a descriccedilatildeo daquele item o plugin relacionado aquele item quando existir
e a versatildeo do Noosfero que aquele item afeta Para funcionalidades coloca-se a versatildeo
em que essa estaacute prevista para ser lanccedilada enquanto que para bugs coloca-se tambeacutem a
versatildeo em que este foi identificado Com o item criado outros usuaacuterios podem adicionar
comentaacuterios e associar um desenvolvedor responsaacutevel pela sua implementaccedilatildeo
A Figura 6 apresenta o issue tracker para funcionalidades do Noosfero A pessoa
que queira cadastrar novos itens nestes precisa se cadastrar na paacutegina de desenvolvimento
do Noosfero Recentemente foi implementado um sistema que possibilita agrave comunidade
declarar seu interesse em ver um item resolvido dessa forma eacute possiacutevel priorizar os itens
identificados como sendo de maior importacircncia para os usuaacuterios e desenvolvedores
A ferramenta utilizada para controle de versatildeo eacute o Git5 uma ferramenta livre de
versionamento distribuiacutedo de coacutedigo fonte O repositoacuterio oficial do Noosfero encontra-se no
Gitorious 6 com um espelho no Gitlab7 e outro no Github8 Na paacutegina de desenvolvimento
da comunidade existe uma seacuterie de recomendaccedilotildees sobre como enviar patches para o
1 lthttpsnoosferoorgDevelopmentMailingListsDevelopmentgt2 Os canais noosfero e noosfero-br hospedados no FreeNode ateacute o momento da escrita deste texto3 lthttpnoosferoorggt4 lthttpnoosferoorgDevelopmentgt5 lthttpgit-scmcomgt6 lthttpsgitoriousorgnoosferonoosferogt7 lthttpsgitlabcomnoosferonoosferogt8 lthttpsgithubcomnoosferonoosferogt
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
32 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Figura 6 ndash Issue Tracker do Noosfero
Noosfero9 desde como versionar seu patches ateacute como realizar a solicitaccedilatildeo de inclusatildeo
do seu patch ou merge-request na plataforma
O processo de colaboraccedilatildeo com o Noosfero inclui uma seacuterie de praacuteticas apresen-
tadas pelas metodologias aacutegeis de desenvolvimento de software como o uso de testes
automatizados a descriccedilatildeo das funcionalidades do projeto no formato de histoacuterias de
usuaacuterio e a adoccedilatildeo de ferramentas para a utilizaccedilatildeo da metodologia Behavior Driven
Development (BDD)10 uma evoluccedilatildeo do Test Driven Development (TDD)11 apresentada
por North (2006) como veremos na Seccedilatildeo 43 As semelhanccedilas das praacuteticas adotadas
pelas comunidades de software livre e as comunidades de meacutetodos aacutegeis foram apresen-
tadas por Corbucci (2011) em sua tese de mestrado De acordo com ele os dois meacutetodos
possuem tantas caracteriacutesticas em comum ao ponto de Martin Fowler um dos autores
mais influentes na Literatura sobre meacutetodos aacutegeis incluir software livre como um meacutetodo
aacutegil na primeira versatildeo de seu artigo The New Methodology No entanto o mesmo foi
retirado devido agrave falta de descriccedilatildeo precisa dos meacutetodos de desenvolvimento utilizados
pelas comunidades de software livre (FOWLER 2000 apud CORBUCCI 2011 p 9)
Por outro lado Corbucci (2011) discute os princiacutepios aacutegeis e livres como semelhantes (i)
Indiviacuteduos e interaccedilotildees satildeo mais importantes que processos e ferramentas (ii) Software
em funcionamento eacute mais importante que documentaccedilatildeo abrangente (iii) Colaboraccedilatildeo
com o cliente (usuaacuterios) eacute mais importante que negociaccedilatildeo de contratos (iv) Responder
9 lthttpsnoosferoorgDevelopmentPatchGuidelinesgt10 lthttpenwikipediaorgwikiBehavior-driven_developmentgt11 lthttpenwikipediaorgwikiTest-driven_developmentgt
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
42 Requisitos Natildeo-funcionais 33
agraves mudanccedilas eacute mais importante que seguir um plano Tambeacutem explicita as praacuteticas dis-
seminadas pelas metodologias aacutegeis usadas no cotidiano dos desenvolvedores de software
livre (i) Coacutedigo compartilhado (coletivo) (ii) Projeto simples (iii) Repositoacuterio uacutenico de
coacutedigo (iv) Integraccedilatildeo contiacutenua (v) Coacutedigo e teste (vi) Desenvolvimento dirigido por
testes e (vii) Refatoraccedilatildeo (CORBUCCI 2011) Portanto neste trabalho entendemos
software livre como um meacutetodo aacutegil de desenvolvimento do ponto de vista da Engenharia
de Software
42 Requisitos Natildeo-funcionais
Antes das funcionalidades desenvolvidas (apresentadas na proacutexima seccedilatildeo) inves-
tigamos os requisitos natildeo-funcionais Dessa forma separamos algumas caracteriacutesticas que
julgamos necessaacuterias para o bom funcionamento do ComunidadeUnB principalmente em
relaccedilatildeo agrave disponibilidade performance e seguranccedila do sistema
Eacute importante para o sucesso da ComunidadeUnB que ele permaneccedila disponiacutevel
mesmo durante picos de acesso estimados em ateacute 30 mil usuaacuterios simultacircneos que daacute
aproximadamente 75 do total de candidatos a usuaacuterios da Universidade que possui atu-
almente 2445 professores 2630 teacutecnicos-administrativos e 28570 alunos regulares e 6304
de poacutes-graduaccedilatildeo totalizando de 39949 (Universidade de Brasiacutelia 2013) Como explicado
na seccedilatildeo 32 o Noosfero utiliza o web-server Apache como um servidor de proxy reverso
que realizar o balanceamento de carga entre as diversas instacircncias do Thin configuradas
durante a instalaccedilatildeo sendo que satildeo recomendadas a configuraccedilatildeo de duas instacircncias por
nuacutecleo de processador presentes na maacutequina que estaacute hospedando o sistema Estimamos
que necessitariacuteamos de 8 instacircncias do Thin para manter um niacutevel de performance aceitaacute-
vel durante picos de acesso o que necessitaria de uma maacutequina com pelo menos 4 nuacutecleos
de processamento para hospedar o sistema No entanto essa estimativa foi realizada com
base em depoimentos de usuaacuterios destas tecnologias e faz-se necessaacuteria a execuccedilatildeo de
um benchmark mais especiacutefico para podermos definir estes paracircmetros com uma precisatildeo
maior Na seccedilatildeo 61 propomos um estudo sobre escalabilidade para aplicaccedilotildees desenvol-
vidas em Ruby on Rails e a possibilidade de se utilizar mais de uma maacutequina hospedeira
para tanto
No quesito seguranccedila eacute importante que as requisiccedilotildees que chegam ao serviccedilo do
ComunidadeUnB passem por uma camada de criptografia para impedir que eventuais ata-
ques consigam recuperar dados como a senha do usuaacuterio Assim faz-se necessaacuterio a adiccedilatildeo
de uma camada de Secure Socket LayerTransport Layer security (SSL)TLS atraveacutes do
protocolo Hypertext Transfer Protocol Secure (HTTPS) para acesso agrave ComunidadeUnB
As permissotildees de acesso das comunidades e seu conteuacutedo podem ser configuradas atraveacutes
do painel de controle das mesmas Essa eacute uma preocupaccedilatildeo jaacute bastante discutida na co-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
34 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
munidade do Noosfero e no momento da escrita deste texto esta estava implementando
algumas alteraccedilotildees para adequar o Noosfero ao uso de SSL Seraacute necessaacuterio adquirir um
certificado vaacutelido para utilizaccedilatildeo de SSL no ComunidadeUnB
Figura 7 ndash Paacutegina inicial da ComunidadeUnB
Outro aspecto importante que levamos em consideraccedilatildeo eacute a adequaccedilatildeo da Comuni-
dadeUnb ao padratildeo de identidade visual da UnB A identidade visual da rede foi adaptada
em cima do tema12 do Stoa que eacute disponibilizada em um repositoacuterio puacuteblico para se en-
quadrar no padratildeo da UnB e estaacute disponiacutevel em um repositoacuterio no Github13 O layout
atual utiliza predominantemente as duas cores-padratildeo definidas no Manual de Identidade
Visual da Universidade (Universidade de Brasiacutelia 2008) o Azul UnB (Pantone 654) e o
Verde UnB (Pantone 348) A Figura 7 apresenta a paacutegina inicial da ComunidadeUnB
com o tema desenvolvido
43 Funcionalidades
As funcionalidades disponiacuteveis no Noosfero seja em seu core ou atraveacutes de plu-
gins nos permitiria fazer uso da plataforma como um ambiente virtual para a troca de
conhecimento atraveacutes das comunidades e perfis de usuaacuterios e como portal para depar-
tamentos e organizaccedilotildees da Universidade de Brasiacutelia Entretanto ainda com algumas
lacunas que avaliamos como pertinentes de serem tratadas Nesta seccedilatildeo apresentamos
as funcionalidades que julgamos mais interessantes de implementarmos dentro do prazo
12 Temas satildeo compostos por aquivos de layout em rhtml e CSS que definem os aspectos visuais deuma instacircncia do Noosfero Os temas podem ser alterados pela interface administrativa da instacircncia
13 lthttpsgithubcomfga-unbcomunidade-unb-themegt
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
43 Funcionalidades 35
deste trabalho para o ComunidadeUnB Dessa forma descrevemos as funcionalidades de-
senvolvidas que contaram com nossa contribuiccedilatildeo e que contribuiacuteram para o crescimento
do ComunidadeUnB
Para melhor apresentarmos tais funcionalidades o formato utilizado para elabo-
rar os requisitos foi o de Histoacuterias de Usuaacuterios (User Stories) praacutetica bastante difundida
dentro das comunidades de meacutetodos aacutegeis e tambeacutem adotada em algumas comunidades
de software livre Aleacutem das histoacuterias utilizamos tambeacutem o formato de criteacuterios de acei-
taccedilatildeo apresentados por North (2006) outra praacutetica aacutegil que vem ganhando forccedila com a
popularizaccedilatildeo do BDD O formato adotado eacute conveniente para noacutes uma vez que o No-
osfero utiliza o cucumber14 uma ferramenta para automatizaccedilatildeo de testes escritos em
linguagem natural criada para apoiar a utilizaccedilatildeo de BDD No cucumber os testes satildeo
escritos no formato de funcionalidades e cenaacuterios utilizando os formatos de histoacuterias de
usuaacuterio e de criteacuterios de aceitaccedilatildeo mencionados A Figura 815 apresenta um exemplo de
uso do cucumber
Figura 8 ndash Exemplo de utilizaccedilatildeo do cucumber
Apesar do cucumber ter sido desenvolvido para que clientes e usuaacuterios natildeo-
teacutecnicos possam escrever as funcionalidades e os cenaacuterios em linguagem proacutexima agrave lin-
guagem natural algumas regras devem ser seguidas uma vez que a ferramenta precisa
traduzir esses textos para uma linguagem que possa ser interpretada por um compu-
tador de forma a automatizar a execuccedilatildeo dos testes Escrevemos os cenaacuterios descritos
nesta seccedilatildeo originalmente em inglecircs no issue tracker do Noosfero e os traduzimos para
o portuguecircs o adaptando para um formato mais adequado para um texto cientiacutefico
14 lthttpcukesinfogt15 Extraiacutedo de lthttpsgithubcomcucumbercucumberwikigt
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
36 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
431 Plugin ComunidadeUnB
Histoacuterias de usuaacuterio
O plugin ComunidadeUnB foi criado para suprir algumas necessidade de inte-
graccedilatildeo de serviccedilos fornecidos pela universidade e a rede de colaboraccedilatildeo que estamos
implantando na UnB como a autenticaccedilatildeo via base de dados mantida pela universidade
Assim o usuaacuterio poderaacute ter acesso ao portal de comunidades atraveacutes dos mesmos dados
utilizados para acessar outros serviccedilos como por exemplo o serviccedilo de matriacutecula para
alunos ou o serviccedilo de lanccedilamento de notas para professores
Ao ativar o plugin os campos utilizados para realizar o login no sistema seratildeo alte-
rados para os mesmos campos utilizados em sistemas da universidade matriacutecula para alu-
nos e prefixo do correio eletrocircnico para professores e funcionaacuterios teacutecnico-administrativos
e a senha seraacute a mesma
Portanto o plugin adiciona o campo matriacutecula e e-mail institucional (caso o usuaacute-
rio deseje manter o campo de e-mail original para seu e-mail pessoal) aleacutem de fazer a
integraccedilatildeo com o serviccedilo de Lightweight Directory Access Protocol (LDAP)16 no qual o
CPD da UnB manteacutem os dados dos usuaacuterios Contudo o usuaacuterio durante seu primeiro
login escolhe os campos nome de usuaacuterio nome completo e e-mail
Foi necessaacuterio tambeacutem retirar a funcionalidade de alteraccedilatildeo de senha uma vez que
queremos manter a compatibilidade entre a rede ComunidadeUnB e os demais serviccedilos
Desta forma caso o usuaacuterio deseje trocar sua senha o mesmo deve procurar o CPD e
solicitar a alteraccedilatildeo
Ateacute o momento da escrita deste texto conseguimos autorizaccedilatildeo para utilizar ape-
nas a base de dados que conteacutem os dados dos alunos de forma que a histoacuteria de usuaacuterio
e os cenaacuterios a seguir levaratildeo em consideraccedilatildeo apenas a utilizaccedilatildeo do ComunidadeUnB
pelos alunos mas a funcionalidade se manteacutem a mesma para professores e servidores
teacutecnico-administrativos que queiram utilizar a rede
1 Autenticaccedilatildeo via LDAP da UnB
Como um aluno da Universidade Brasiacutelia
Eu quero me autenticar na rede atraveacutes da minha matriacutecula e senha utilizada em
outros sistemas
Cenaacuterios de uso
a) Primeiro acesso
Dado que sou aluno da UnB16 lthttpenwikipediaorgwikiLightweight_Directory_Access_Protocolgt
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
43 Funcionalidades 37
E possuo cadastro ativo na base de dados da UnB
E nunca utilizei o serviccedilo do ComunidadeUnB
Quando eu acessar o portal
E preencher os campos matriacutecula e senha com a matriacutecula e a senha fornecidas
a mim pela universidade
Entatildeo deverei ser direcionado para uma paacutegina com o tiacutetulo Primeiro Acesso
E deverei ver os campos ldquonome de usuaacuteriordquo ldquonome completordquo e ldquoe-mail pes-
soalrdquo em branco
b) Registro
Dado que sou aluno da UnB
E me encontro na paacutegina de primeiro acesso do ComunidadeUnB
Quando eu preencher os campos ldquonome de usuaacuteriordquo
ldquonome completordquo
e ldquoe-mail pessoalrdquo com ldquodanielbucherrdquo
ldquoDaniel Costa Bucherrdquo e
ldquodanielbucher88gmailcomrdquo
E clicar no botatildeo ldquoRegistrarrdquo
Entatildeo eu devo ser direcionado para meu perfil
E devo ver a url ldquoltdomiacuteniogtdanielbucherrdquo
E devo ver ldquoDaniel Costa Bucherrdquo abaixo da imagem padratildeo de perfis do
Noosfero
c) Acesso
Dado que sou aluno da UnB
E jaacute utilizei o serviccedilo do ComunidadeUnB
Quando eu entrar com minha matriacutecula e senha fornecida pela universidade
nos campos adequados para autenticaccedilatildeo
E clicar em entrar
Entatildeo eu devo me encontrar logado no sistema com a minha conta
Desenvolvedores responsaacuteveis
1 Daniel Bucher - UnB
432 Melhorias no plugin de sub-organizaccedilotildees
As histoacuterias de usuaacuterios listadas nesta sub-seccedilatildeo dizem respeito a melhorias no
plugin de sub-organizaccedilotildees do Noosfero e foram desenvolvidas em conjunto com a Colivre
e a equipe do Portal da Faculdade UnB Gama - FGA
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
38 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
No Noosfero uma organizaccedilatildeo eacute a abstraccedilatildeo de uma entidade que pode assumir o
papel tanto de comunidade quanto de empreendimento Os cenaacuterios de uso das histoacuterias
a seguir foram especificados utilizando comunidades como exemplo mas as alteraccedilotildees
realizadas afetam da mesma forma a relaccedilatildeo entre usuaacuterios e empreendimentos
O termo ldquoorganizaccedilatildeo matildeerdquo eacute utilizado para designar uma organizaccedilatildeo que possua
sub-organizaccedilotildees tambeacutem chamadas de organizaccedilotildees filhas Conforme descrito anterior-
mente uma organizaccedilatildeo matildee pode ser tanto uma comunidade quanto um empreendi-
mento
Histoacuterias de usuaacuterio
1 Listar organizaccedilotildees lsquomatildeersquo na lista de organizaccedilotildees de um usuaacuterio
Esta histoacuteria de usuaacuterio estaacute mapeada no ActionItem de nuacutemero 282517
Como um usuaacuterio
Eu quero visualizar organizaccedilotildees matildee de sub-organizaccedilotildees que faccedilo parte junto agrave
lista de minhas organizaccedilotildees
Cenaacuterios de uso
a) Ver comunidade ldquomatildeerdquo na paacutegina ldquoGerenciar meus gruposrdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoGerenciar meus gruposrdquo (myprofilezememberships)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
b) Ver comunidade ldquomatildeerdquo na paacutegina ldquoComunidades de zerdquo
Dado que eu estou logado com o usuaacuterio ldquozerdquo
E ldquozerdquo natildeo eacute membro do ComunidadeUnB
E ldquozerdquo eacute membro da sub-comunidade de Unb FGA
Quando eu navegar ateacute a paacutegina ldquoComunidades de zerdquo (profilezecommunities)
Entatildeo eu tenho que ver o ComunidadeUnB listada junto agraves demais comuni-
dades que faccedilo parte
2 Bloco de organizaccedilotildees relacionadas
Esta histoacuteria de usuaacuterio estaacute mapeada no issue de nuacutemero 24991817 lthttpsnoosferoorgDevelopmentActionItem2825gt18 lthttpsnoosferoorgDevelopmentActionItem2499gt
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
43 Funcionalidades 39
Para ter acesso agraves organizaccedilotildees relacionadas a uma organizaccedilatildeo
Como um usuaacuterio
Eu quero visualizar um bloco que liste todas as organizaccedilotildees relacionadas agrave orga-
nizaccedilatildeo atual
Cenaacuterios de uso
a) Adicionar um bloco de sub-organizaccedilotildees
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador da comunidade X
Quando eu navegar ateacute o painel de controle da comunidade X
E eu clicar em ldquoEditar blocos lateraisrdquo
E eu clicar em ldquoAdicionar blocordquo
Entatildeo eu tenho que ver a opccedilatildeo ldquoOrganizaccedilotildees Relacionadasrdquo
b) Listar todas as sub-organizaccedilotildees na organizaccedilatildeo ldquomatildeerdquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub organizaccedilotildeesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
c) Listar apenas as sub-comunidades organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoSub-comunidadesrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
40 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
d) Visualizar paacutegina de sub-organizaccedilotildees de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
e) Visualizar paacutegina de sub-comunidades de uma organizaccedilatildeo lsquomatildeersquo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute uma sub-comunidade de X
E e o empreendimento Z eacute um sub-empreendimento de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
E o bloco esteja configurado para mostrar apenas comunidades
Quando eu navegar ateacute a paacutegina da comunidade X
E eu clicar no link ldquoVer todosrdquo do bloco de organizaccedilotildees relacionadas
Entatildeo eu tenho que ver uma paacutegina de sub-organizaccedilotildees
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu natildeo tenho que ver um link para o sub-empreendimento Z neste bloco
f) Listar todas as organizaccedilotildees ldquomatildeerdquo de uma organizaccedilatildeo
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute membro da comunidade X
E e a comunidade Y eacute ldquomatildeerdquo de X
E e o empreendimento eacute ldquopairdquo de X
E a comunidade X possua um bloco de organizaccedilotildees relacionadas
Quando eu navegar ateacute a paacutegina da comunidade X
Entatildeo eu tenho que ver um bloco com o tiacutetulo ldquoOrganizaccedilotildees paisrdquo
E eu tenho que ver um link para a sub-comunidade Y neste bloco
E eu tenho que ver um link para o sub-empreendimento Z neste bloco
3 Visualizaccedilatildeo completa nas paacuteginas de organizaccedilatildeo relacionadas
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
43 Funcionalidades 41
Como um usuaacuterio
Eu quero visualizar informaccedilotildees sobre as organizaccedilotildees relacionadas nas paacuteginas de
organizaccedilotildees relacionadas
Para me informar sobre elas sem precisar visitar a paacutegina de cada uma
Cenaacuterios de uso
a) Visualizar modo completo na paacutegina de sub-organizaccedilotildees
Dado a comunidade X
E a comunidade Y eacute lsquofilharsquo de X
E o empreendimento Z eacute lsquofilhorsquo de X
Quando eu navegar ateacute a paacutegina de sub-organizaccedilotildees de X
E eu clicar na opccedilatildeo de visualizaccedilatildeo completa
Entatildeo eu tenho que ver as informaccedilotildees
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Aureacutelio A Heckert - Colivre
2 Daniel Bucher - UnB
3 Equipe do Portal FGA - UnB
433 Plugin de bloco de video
Esta funcionalidade foi desenvolvida pela equipe do Portal da FGA estaacute mapeada
no issue de nuacutemero 282319 e consiste em um plugin que adiciona um novo tipo de bloco
no Noosfero o VideoBlock
Este bloco incorpora viacutedeos de plataformas externas atualmente o Vimeo e o
Youtube dentro de seu conteuacutedo
1 Bloco de video
Para adicionar viacutedeos em um perfil do Noosfero
Como um usuaacuterio
19 lthttpsnoosferoorgDevelopmentActionItem2823gt
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
42 Capiacutetulo 4 Uma Rede de Colaboraccedilatildeo para a UnB
Eu quero ter um bloco em que eu possa adicionar um viacutedeo de plataformas como
o Youtube20 e o Vimeo21
Cenaacuterios de uso
a) Adicionar bloco
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E o plugin Video esteja atualizado
Quando eu navegar ateacute a paacutegina ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoAdicionar blocordquo
E selecionar ldquoBloco de viacutedeordquo
E clicar em ldquoAdicionarrdquo
Entatildeo eu devo ver um bloco de viacutedeo sem conteuacutedo na aacuterea principal
b) Adicionar viacutedeo do Youtube
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Youtube
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
c) Adicionar viacutedeo do Vimeo
Dado que estou logado como o usuaacuterio ldquoZeacuterdquo
E possui um bloco de viacutedeo no meu perfil
Quando eu navegar ateacute a paacutegina de ldquoEditar blocos lateraisrdquo do meu perfil
E clicar em ldquoEditarrdquo no bloco de viacutedeo
E adicionar a URL de um video do Vimeo
E preencher os campos ldquoLargurardquo e ldquoAlturardquo com 536 e 360 respectivamente
E clicar em ldquoSalvarrdquo
Entatildeo eu devo ver o viacutedeo incorporado na aacuterea principal do meu perfil na
resoluccedilatildeo ldquo536x360rdquo
20 lthttpsyoutubecomgt21 lthttpsvimeocomgt
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
43 Funcionalidades 43
Desenvolvedores responsaacuteveis
Os seguintes colaboradores do Noosfero participaram do desenvolvimento desta
funcionalidade
1 Equipe do Portal FGA - UnB
2 Daniel Bucher - UnB
As funcionalidades apresentadas neste capiacutetulo representam as principais contri-
buiccedilotildees nas quais houve participaccedilatildeo direta de nossa parte A funcionalidade de melhoria
no plugin de sub-organizaccedilotildees (432) foi desenvolvida em conjunto com membros da Co-
livre que fariam algumas melhorias no mesmo como parte de um conjunto de melhorias
e novas funcionalidades para o Stoa a rede de colaboraccedilatildeo da USP No entanto noacutes jul-
gamos que seria interessante adicionar algumas melhorias para o ComunidadeUnB aleacutem
do que estava previsto para o Stoa e decidimos colaborar para que fossem alcanccediladas
Certamente nossa contribuiccedilatildeo levou a uma evoluccedilatildeo deste plugin 3 vezes maior que o
esperado Aleacutem das funcionalidades listadas foram desenvolvidas uma seacuterie de outras
funcionalidades em conjunto com a equipe do Portal da FGA de forma a transmitir o
conhecimento adquirido por noacutes no desenvolvimento do Noosfero e ajudar a formar uma
equipe capacitada a contribuir com o ComunidadeUnB e com o Noosfero no geral No
momento da escrita deste texto foram criados pelo menos 13 merge-requests levando em
consideraccedilatildeo as contribuiccedilotildees deste trabalho e as contribuiccedilotildees da equipe do Portal da
FGA que contaram com nossa contribuiccedilatildeo diretamente ou indiretamente dos quais seis
foram aceitos e outros estatildeo em processo de revisatildeo
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
45
5 Avaliaccedilatildeo da plataforma
Nesse capiacutetulo apresentamos um exemplo do uso do ComunidadeUnB em um am-
biente universitaacuterio e uma pesquisa com os alunos que fizeram uso do mesmo O estudo de
caso foi baseado no uso do ComunidadeUnB de diferentes formas em trecircs disciplinas do
curso de Engenharia de Software da FGA Desenho Industrial Assistido po Computador1
(DIAC) 1o semestre Orientaccedilatildeo a Objetos2 (OO) 3o semestre Manutenccedilatildeo e Evoluccedilatildeo
de Software3 (MES) 7o semestre com a criaccedilatildeo de uma comunidade para cada uma das
disciplinas Para a disciplina de MES foram usadas ainda sub-comunidades para cada um
dos projetos trabalhados nela
51 Uso do Noosfero em Disciplinas do Curso de Engenharia de
Software
O niacutevel de uso da ferramenta variou de acordo com o semestre da disciplina Na
disciplina de DIAC a comunidade foi utilizada mais como uma fonte de notiacutecias partindo
do professor para os alunos Os alunos foram encorajados ainda a publicar as imagens de
seus desenhos nas galerias de imagens de seus perfis conforme visto na Figura 9
A comunidade da disciplina de OO foi utilizada para publicar os enunciados dos
trabalhos da disciplina e para receber os trabalhos dos alunos Os enunciados das pro-
vas das disciplinas tambeacutem foram publicados na comunidade assim como seus gabaritos
e revisotildees Na disciplina de MES os alunos foram divididos em grupos para trabalhar
com manutenccedilatildeo e evoluccedilatildeo de trecircs projetos de software livre Para isso foram criadas
sub-comunidades para cada um dos projetos (i) Analizo (ii) Noosfero e (iii) Radar
Parlamentar de forma que os progressos alcanccedilados materiais de estudo referecircncias bi-
bliograacuteficas dentre outros fossem publicados em suas proacuteprias sub-comunidades4 (atraveacutes
do plugin de sub-organizaccedilotildees)
A Figura 10 apresenta a paacutegina inicial da sub-comunidade do time que colaborou
com o Noosfero Notamos que conforme aumentava o semestre da disciplina e conse-
quentemente a maturidade intelectual de seus alunos o niacutevel do uso das funcionalidades
de CMS do Noosfero como a adiccedilatildeo de blocos laterais personalizados e a criaccedilatildeo de
conteuacutedos diversos aumentou
1 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=199176gt2 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=195341gt3 lthttpswwwsecserverwebunbbrmatriculawebgraduacaodisciplinaaspxcod=206598gt4 Uma sub-comunidade funciona como uma comunidade comum poreacutem associada ao a uma comunidade
ldquomatildeerdquo
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
46 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
Figura 9 ndash Desenho desenvolvido na disciplina de DIAC
Figura 10 ndash Paacutegina inicial da sub-comunidade do projeto Noosfero
52 Pesquisa com os usuaacuterios
No mecircs de Dezembro de 2013 realizamos uma pesquisa junto aos alunos das trecircs
disciplinas sobre o uso de uma rede social associada agrave marca da universidade e sobre o
niacutevel de adequaccedilatildeo do Noosfero para ser a plataforma adotada para implantar essa rede
Foi criado um questionaacuterio com cinco questotildees objetivas com a opccedilatildeo de justificativa para
as respostas Nesta seccedilatildeo apresentamos as questotildees elaboradas e as respostas coletadas
atraveacutes da ferramenta Google Drive Foram coletadas ao todo 34 respostas (voluntaacuterias)
ao questionaacuterio de um total possiacutevel de 88 alunos das trecircs turmas
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
52 Pesquisa com os usuaacuterios 47
Questatildeo preliminar Qual o seu semestre
Figura 11 ndash Graacutefico de respostas agrave questatildeo preliminar
A primeira pergunta tinha como objetivo levantar qual o semestre dos alunos a
responder o questionaacuterio e assim possivelmente associar as respostas ao niacutevel de matu-
ridade dos alunos e ao tipo de uso que estes fizeram da rede A Figura 11 apresenta o
resultado do questionaacuterio Podemos perceber que a distribuiccedilatildeo dos alunos teve maior
peso nos semestres iniciais principalmente do segundo e terceiro e nos semestres finais
com alunos do oitavo e nono semestres
Questatildeo 01 Vocecirc vecirc utilidade na possibilidade de uma rede social com foco
na colaboraccedilatildeo e construccedilatildeo de conhecimento para uma universidade
Figura 12 ndash Graacutefico de respostas agrave questatildeo 01
Podemos notar que 32 dos 34 (94) alunos que responderam ao questionaacuterio
responderam que vecircm utilidade em uma rede de colaboraccedilatildeo para a universidade e ou-
tros dois alunos responderam que talvez (Figura 12) Entre as justificativas os alunos
escreveram coisas como
ldquoA vida acadecircmica fica muito mais integrada com a colaboraccedilatildeo em grupordquo
e
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
48 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
ldquoAtualmente eacute de extrema importacircncia o desenvolvimento de atividades em grupo que
permitem atingirmos o objetivo de maneira mais natural e com menor sobrecargardquo
Questatildeo 02 Vocecirc utilizaria uma rede social de sua universidade na qual todo
o conteuacutedo produzido eacute associado agrave marca da universidade
Figura 13 ndash Graacutefico de respostas agrave questatildeo 02
O intuito desta questatildeo foi averiguar se haveria adesatildeo agrave rede proposta A Figura
13 apresenta os resultados obtidos e percebemos que dos alunos que tiveram contato com
o ComunidadeUnB nenhum declarou que natildeo usaria com 97 respondendo que sim e
3 que talvez
Questatildeo 03 Que tipo de uso vocecirc fariagostaria de fazer de uma rede deste
tipo
Figura 14 ndash Graacutefico de respostas agrave questatildeo 03
Analisando a Figura 14 percebemos que o interesse maior dos alunos em uma rede
como a proposta eacute a publicaccedilatildeo e construccedilatildeo de conteuacutedo cientiacuteficoacadecircmico aleacutem da
construccedilatildeo de networking (rede de relacionamento) acadecircmico Apenas 10 alunos respon-
deram que utilizariam a rede para publicar conteuacutedo pessoal
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
52 Pesquisa com os usuaacuterios 49
Figura 15 ndash Graacutefico de respostas agrave questatildeo 04
Questatildeo 04 Como vocecirc avalia o Noosfero para satisfazer as necessidades de
uma rede de colaboraccedilatildeo para a UnB
O objetivo dessa questatildeo foi coletar a opiniatildeo dos alunos apoacutes um semestre de
contato com o Noosfero para saber se eles acham que este pode ser a plataforma utilizada
para a construccedilatildeo da rede de colaboraccedilatildeo da UnB Na Figura 15 percebemos que a maioria
acha que sim com 71 respondendo que o Noosfero satisfaz bem ou completamente
Nenhum dos entrevistados respondeu que natildeo satisfaz Entre os que responderam que natildeo
acham que o Noosfero satisfaz completamente as principais criacuteticas foram em relaccedilatildeo a
usabilidade Coletamos respostas como
ldquoMelhor usabilidade e lookampfeel responsivo Seria bom tambeacutem ter os recursos dos
similaresrdquo
e
ldquoTem algumas funcionalidades que deveriam ser revista levando em consideraccedilatildeo a
usabilidaderdquo
Outra criacutetica foi em relaccedilatildeo ao tipo de interaccedilatildeo mais comum no Noosfero uma
interaccedilatildeo focada em comunidade Um aluno respondeu que
ldquoO Noosfero deveria focar um pouco mais na interaccedilatildeo fora de comunidades e focar um
pouco na interaccedilatildeo usuaacuterio-usuaacuteriordquo
O resultado coletado atraveacutes da pesquisa com alunos que estavam utilizando conti-
nuamente o Noosfero desde Agosto de 2013 nos permitiu confirmar e justificar a proposta
de implantar uma rede de colaboraccedilatildeo na UnB No total de forma voluntaacuteria 34 alunos
responderam ao questionaacuterio Para as respostas serem mais naturais ou seja sem a in-
terferecircncia do professor Paulo Meirelles em sala de aula apenas enviamos por e-mail o
formulaacuterio de pesquisa para cerca de 88 alunos que fizeram ateacute o fim do semestre uso
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
50 Capiacutetulo 5 Avaliaccedilatildeo da plataforma
do Noosfero nas disciplinas mencionadas Os e-mails foram enviados aos alunos atraveacutes
da proacutepria plataforma
Ao analisar as respostas percebemos que agrave proposta de uma rede nos moldes
abordados neste trabalho foi aceito pelos alunos que tiveram tal experiecircncia A maioria
dos alunos avalia que o Noosfero pode ser a plataforma utilizada para o ComunidadeUnB
No proacuteximo capiacutetulo ao concluir este relatoacuterio de trabalho de conclusatildeo de curso propo-
mos uma seacuterie de funcionalidades que julgamos agregadoras de valor ao Noosfero mas que
natildeo foi possiacutevel implementar durante a execuccedilatildeo deste trabalho em 2013 Entretanto por
outro lado este trabalhou deixou tambeacutem um legado humano atraveacutes do conhecimento
repassado agrave equipe do portal da UnB Gama (5 pessoas) que implementaratildeo tais funci-
onalidades em 2014 Por fim dentro dos trabalhos futuros apresentaremos um primeiro
levantamento sobre a federaccedilatildeo tecnoloacutegica para prover a ldquorede de redesrdquo um assunto
bastante debatido na comunidade do Noosfero
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
51
6 Conclusatildeo
Ao longo deste trabalho de conclusatildeo de curso realizamos atividades que pas-
sam pelas principais aacutereas de conhecimento da Engenharia de Software como a gerecircncia
de projetos a gerecircncia de configuraccedilatildeo de software o levantamento e a elaboraccedilatildeo de
requisitos a anaacutelise e o design a implementaccedilatildeo e aqui incluiacutemos a criaccedilatildeo de testes
automatizados a manutenccedilatildeo e a implantaccedilatildeo de uma plataforma real de software livre
dentre outras Nos preocupamos em contribuir na praacutetica com a escrita de coacutedigo1 uma
vez que em nossa visatildeo esta eacute a principal missatildeo de um Engenheiro de Software Outra
atividade que julgamos ser de fundamental importacircncia para a continuidade deste tra-
balho diz respeito ao repasse do conhecimento adquirido para uma equipe de alunos do
curso de Engenharia de Software que trabalhou inicialmente no Portal da FGA
Figura 16 ndash Tela inicial da ComunidadeUnB
Esta experiecircncia nos proporcionou a possibilidade de participar de um processo
distribuiacutedo de desenvolvimento de software com outras equipes espalhadas pelo paiacutes e de
fazer parte de uma comunidade de software livre Ao final deste trabalho julgamos que
a rede ComunidadeUnB estaacute bem proacutexima da capacidade de ser lanccedilada oficialmente
1 Segue o link de alguns commits realizado por noacutes durante a realizaccedilatildeo deste trabalholthttpgoogl2ixQE4gtlthttpgooglpDlE8mgt
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
52 Capiacutetulo 6 Conclusatildeo
para a universidade graccedilas ao apoio do CDTC que viabilizou os contatos necessaacuterios
para formalizar os pedidos de uso por exemplo das bases de dados existentes nela e
graccedilas agrave comunidade do Noosfero que nos apoiou durante sua execuccedilatildeo Por fim a Figura
16 apresenta a paacutegina inicial do ComunidadeUnB ainda em ambiente de testes que jaacute
consta com 153 usuaacuterios e 14 comunidades
61 Trabalhos Futuros
Nessa seccedilatildeo apresentamos alguns trabalhos futuros que podem dar continuidade
a este trabalho Aleacutem de algumas novas funcionalidades para o Noosfero fizemos um
levantamento sobre alguns protocolos que podem ser usados para implementar a federaccedilatildeo
tecnoloacutegica para o Noosfero bem como propomos um estudo sobre escalabilidade de
forma a conseguir atender um nuacutemero de requisiccedilotildees concorrentes elevados para manter
um bom niacutevel de desempenho
611 Federaccedilatildeo Tecnoloacutegica
A federaccedilatildeo tecnoloacutegica eacute um assunto que tem sido constantemente discutido na
comunidade do Noosfero A transiccedilatildeo do Noosfero para uma rede social federada eacute essen-
cial para a criaccedilatildeo de um ecossistema de redes de colaboraccedilatildeo que comunicam entre si
A federaccedilatildeo consiste na habilidade de redes diferentes de conversarem entre si de forma
que um usuaacuterio da rede ComunidadeUnB por exemplo poderia receber atualizaccedilotildees
de uma comunidade em outra rede baseada em Noosfero ou em qualquer outra ferra-
menta que implemente o mesmo protocolo de federaccedilatildeo atraveacutes de regras preacute-acordadas
(PRODOMOU 2010)
Em princiacutepio a estrutura para redes federadas proposta para a plataforma No-
osfero consistia em um padratildeo aberto chamado OStatus2 que foi proposto por Evan
Prodomou para ser utilizado pelo StatusNet3 um servidor open-surce para microblog-
ging escrito em PHP O OStatus foi construiacutedo com base no padratildeo para criaccedilatildeo de
feeds Atom4 e no protocolo PubSubHubbub5(PuSH) O funcionamento do OStatus
pode ser resumido da seguinte forma os sites produzem atualizaccedilotildees no formato de feeds
atraveacutes do padratildeo Atom e utilizam o protocolo PuSH para enviar estas atualizaccedilotildees
para outros sites (W3C 2013) Posteriormente OStatus passou a ser desenvolvido como
um grupo de trabalho da World Wide Web Consortium (W3C) e estava no caminho para
se tornar um padratildeo oficial
2 lthttpwwww3orgcommunityostatusgt3 lthttpstatusnetgt4 lthttpwwwatomenabledorggt5 lthttpscodegooglecomppubsubhubbubgt
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
61 Trabalhos Futuros 53
No entanto em dezembro de 2013 Prodomou declarou que estava desenvolvendo
um novo projeto chamado pumpio quer iria substituir o StatusNEt6 e que utilizaria um
novo protocolo para a federaccedilatildeo chamado Activity Streams7 baseado em JavaScript
Object Notation (JSON) Assim faz-se necessaacuterio realizar uma seacuterie de estudos e
experimentos antes de tomar a decisatildeo do protocolo a ser adotado ou mesmo desenvolvido
do iniacutecio
Quando a federaccedilatildeo tecnoloacutegica for uma realidade no Noosfero haveraacute a possibili-
dade da existecircncia uma ldquorede de redesrdquo de colaboraccedilatildeo federadas com vaacuterias universida-
des por exemplo tendo sua proacutepria rede de colaboraccedilatildeo como sendo um noacute Essa realidade
aumentaria consideravelmente o nuacutemero de requisiccedilotildees sendo feitas a uma instacircncia do
Noosfero em uma universidade uma vez que o puacuteblico fazendo uso desta tecnologia tende
a se multiplicar Desta forma propomos que seja realizado um estudo sobre a possibi-
lidade de aumentar a escalabilidade das redes possivelmente havendo redundacircncia de
hospedeiros tanto do Noosfero em si quanto do Varnish a camada responsaacutevel por atuar
como um servidor de proxy reverso
612 Proacuteximas funcionalidades
6121 Convite para participaccedilatildeo de comunidades
Esta funcionalidade prevecirc melhorias no sistema de convite para participar de uma
comunidade Hoje os convites satildeo realizados exclusivamente atraveacutes de e-mail seja en-
trando com o e-mail da pessoa diretamente ou pesquisando na lista de contatos de um
e-mail passado Planejamos esta funcionalidade para incluir uma interface atraveacutes da qual
um usuaacuterio possa adicionar facilmente outros usuaacuterios da sua lista de amigos pesquisando
pelo nome ou caso deseje convidar um usuaacuterio do qual natildeo seja amigo ou algueacutem que
ainda natildeo tenha cadastro na rede atraveacutes do e-mail
Histoacuterias de usuaacuterio
1 Convidar usuaacuterios da rede
Para facilitar a criaccedilatildeo de convites para juntar-se a comunidade
Como um membro de comunidade com permissatildeo para convidar membros
Eu quero convidar usuaacuterios atraveacutes de uma interface que busque na lista de perfis
de pessoas do ambiente e auto-complete conforme for digitando
6 lthttpstatusnet20121218upcoming-changes-in-the-status-net-servicegt7 lthttpactivitystreamsgt
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
54 Capiacutetulo 6 Conclusatildeo
Cenaacuterios de uso
a) Procurar um usuaacuterio cadastrado
Dado que eu estou logado com meu usuaacuterio
E meu usuaacuterio eacute administrador do ComunidadeUnB
E o usuaacuterio ldquoZeacuterdquo existe
E o usuaacuterio ldquoZeacuterdquo natildeo eacute membro do ComunidadeUnB
E eu estou na paacutegina de convidar amigos para o ComunidadeUnB
Quando eu digitar ldquoZeacuterdquo no campo de convidar novos amigos
Entatildeo eu devo ver um token8 representando o usuaacuterio ldquoZeacuterdquo
6122 Utilizaccedilatildeo de SSL
Esta ldquofuncionalidaderdquo9 diz respeito ao uso de uma camada de SSL e do protocolo
HTTPS no ComunidadeUnB Eacute importante para manter a integridade das informaccedilotildees
dos usuaacuterios como suas senhas que as requisiccedilotildees realizadas para o ComunidadeUnB
passem uma uma camada de criptografia conforme mencionado em 42 Para tanto jaacute foi
proposto na lista de discussatildeo do Noosfero a utilizaccedilatildeo da ferramenta Pound10 para atuar
como um front-end de HTTPS para o Apache No entanto seria necessaacuterio a aquisiccedilatildeo
de um certificado SSL11 que fosse suportado pelos navegadores mais utilizados A histoacuteria
apresentada nesta sub-seccedilatildeo eacute descrita como uma histoacuteria teacutecnica ao inveacutes de uma histoacuteria
de usuaacuterio uma vez que o objetivo desta eacute atender a um requisito natildeo-funcional do sistema
1 Conexatildeo criptografada
Para evitar o roubo de informaccedilatildeo pessoal dos usuaacuterios do ComunidadeUnB
Como um responsaacutevel pela manutenccedilatildeo do ComunidadeUnB
Eu quero que as requisiccedilotildees feitas agrave rede utilizem o protocolo HTTPS
Existem vaacuterias outras funcionalidades e melhorias (por exemplo melhorias de usa-
bilidade e melhorias no foacuterum do Noosfero) que estatildeo listadas no issue tracker do Noos-
fero ou ainda que podem ser propostas para a comunidade do Noosfero bem como para
a equipe do Portal da FGA que manteraacute o ComunidadeUnB Entretanto as funcionali-
dades jaacute existentes no Noosfero o que inclui as que fizemos neste trabalho possibilitam
8 Neste contexto um token representa um objeto no caso um perfil de usuaacuterio que possua um nomeque bata com o campo digitado
9 Colocamos funcionalidade entre aspas pelo fato de esta natildeo ser composta de histoacuterias de usuaacuterioscomo as demais mas sim de histoacuterias teacutecnicas que precisam ser desenvolvidas para atender a requisitosnatildeo funcionais mencionados na Seccedilatildeo 42
10 lthttpwwwapsischpoundgt11 lthttpenwikipediaorgwikiTransport_Layer_Securitygt
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
61 Trabalhos Futuros 55
o lanccedilamento e a disponibilizaccedilatildeo do ComunidadeUnB para o puacuteblico da Universidade
de Brasiacutelia em 2014
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
57
Referecircncias
BEER D Social network(ing) sites revisiting the story so far A response to danahboyd amp nicole ellison Journal of Computer-Mediated Communication BlackwellPublishing Inc v 13 n 2 p 516ndash529 2008 Citado na paacutegina 20
BOYD D M ELLISON N B Social network sites Definition history and scholarshipJournal of Computer-Mediated Communication v 13 2007 Citado na paacutegina 20
Community College Leadership Program Making Connections Dimensions of StudentEngagement 2009 Findings [Sl] Community College Leadership Program Universityof Texas 2009 (Community college survey of student engagement) Citado na paacutegina15
CORBUCCI H Meacutetodos aacutegeis e software livre um estudo da relaccedilatildeo entre estasduas comunidades Dissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e deComputaccedilatildeo da Universidade de Satildeo Paulo 2011 Citado 3 vezes nas paacuteginas 30 32e 33
DAVIS C H F et al Social media in higher education A literature review and researchdirections University of Arizona and Claremont Graduate University 2012 Disponiacutevelem lthttpworksbepresscomhfdavis2gt Citado 3 vezes nas paacuteginas 15 19 e 20
FOWLER M The new methodology 2000 Original version Disponiacutevel em lthttpwwwmartinfowlercomarticlesnewMethodologyOriginalhtmlgt Citado na paacutegina 32
Harvard Institute On Politics IOP youth polling Spring 2011 survey 2011 Citado napaacutegina 15
KON F et al Free and open source software development and research Opportunitiesfor software engineering In Software Engineering (SBES) 2011 25th BrazilianSymposium on [Sl sn] 2011 p 82ndash91 Citado 2 vezes nas paacuteginas 15 e 23
MEIRELLES P R M Monitoramento de meacutetricas de coacutedigo-fonte em projetos desoftware livre Tese (Doutorado) mdash Instituto de Matemaacutetica e Estaacutetistica ndash Universidadede Satildeo Paulo (IMEUSP) 2013 Citado 2 vezes nas paacuteginas 23 e 24
NORTH D Introducing BDD Better Software 2006 Disponiacutevel em lthttpdannorthnetintroducing-bddgt Citado 2 vezes nas paacuteginas 32 e 35
PRENSKY M Digital Natives Digital Immigrants On the Horizon v 9 n 5 out2001 Disponiacutevel em lthttpwwwalbertomattiacciitdocsdidDigital_Natives_Digital_Immigrantspdfgt Citado na paacutegina 20
PRODOMOU E What is the federated social web 2010 Disponiacutevel em lthttpstatusnet20100713what-is-the-federated-social-webgt Citado 2 vezes nas paacuteginas 21 e 52
RAYMOND E S The Cathedral amp the Bazaar Sebastopol CA USA OrsquoReilly ampAssociates Inc 1999 Citado na paacutegina 24
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-
58 Referecircncias
REIS C R Caracterizaccedilatildeo de um processo de software para projetos de software livreDissertaccedilatildeo (Mestrado) mdash Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo daUniversidade de Satildeo Paulo 2003 Citado na paacutegina 30
SANTOS D A SCHWARZELMuumlLLER A F LIMA A Projeto educandowexperimentando uso de rede social como apoio ao ensino fundamental 2012 Citado napaacutegina 22
SHIRKY C Cognitive Surplus New York Penguin Press 2010 Citado na paacutegina 19
SMALL G W VORGAN G iBrain surviving the technological alteration of themodern mind 1 ed Collins Living 2008 Disponiacutevel em lthttpwwwworldcatorgisbn0061340332gt Citado na paacutegina 20
SOLIS B The Essencial Guide to Social Media [sn] 2008 Disponiacutevel em lthttpptscribdcomdoc3283966The-Essential-Guide-to-Social-Mediagt Citado 2 vezes naspaacuteginas 15 e 19
Universidade de Brasiacutelia Manual de Identidade Visual Brasiacutelia Brasil 2008 80 pCitado na paacutegina 34
Universidade de Brasiacutelia Sobre a Instituiccedilatildeo 2013 Disponiacutevel em lthttpwwwunbbrsobregt Citado na paacutegina 33
W3C The Basics 2013 Disponiacutevel em lthttpwwww3orgcommunityostatuswikiThe_Basicsgt Citado na paacutegina 52
- Folha de rosto
- Folha de aprovaccedilatildeo
- Resumo
- Abstract
- Lista de ilustraccedilotildees
- Lista de abreviaturas e siglas
- Sumaacuterio
- Introduccedilatildeo
-
- Objetivos
-
- Objetivos Gerais
- Especiacuteficos
-
- Organizaccedilatildeo do Trabalho
-
- Miacutedias Sociais
-
- A Difusatildeo das Miacutedias Sociais
- Redes Sociais
-
- Stoa
- TecCiecircncia
-
- Noosfero
-
- Software Livre
- Noosfero Uma Plataforma Livre para Redes Sociais
-
- Uma Rede de Colaboraccedilatildeo para a UnB
-
- Processo de colaboraccedilatildeo para o Noosfero
- Requisitos Natildeo-funcionais
- Funcionalidades
-
- Plugin ComunidadeUnB
- Melhorias no plugin de sub-organizaccedilotildees
- Plugin de bloco de video
-
- Avaliaccedilatildeo da plataforma
-
- Uso do Noosfero em Disciplinas do Curso de Engenharia de Software
- Pesquisa com os usuaacuterios
-
- Conclusatildeo
-
- Trabalhos Futuros
-
- Federaccedilatildeo Tecnoloacutegica
- Proacuteximas funcionalidades
-
- Convite para participaccedilatildeo de comunidades
- Utilizaccedilatildeo de SSL
-
- Referecircncias
-