rede de colabora梂o social para universidades brasileiras...

60
Universidade de Brasília - UnB Faculdade UnB Gama - FGA Engenharia de Software Rede de colaboração social para universidades brasileiras: um estudo de caso de implantação e desenvolvimento distribuído de uma plataforma livre na Universidade de Brasília Autor: Daniel Costa Bucher Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles Brasília, DF 2013

Upload: truongdat

Post on 02-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 2: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 3: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 4: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 5: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 6: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 7: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 8: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 9: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 10: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 11: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 12: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 13: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 14: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 15: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 16: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 17: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 18: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 19: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 20: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 21: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 22: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 23: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 24: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 25: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 26: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 27: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 28: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 29: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 30: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 31: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 32: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 33: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 34: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 35: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 36: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 37: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 38: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 39: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 40: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 41: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 42: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 43: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 44: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 45: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 46: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 47: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 48: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 49: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 50: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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
Page 51: Rede de colabora梂o social para universidades brasileiras ...bdm.unb.br/bitstream/10483/7006/1/2013_DanielCostaBucher.pdf · Adaptando essas ideias para o ponto de vista tecnológico,

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