openacs uma comunidade sustentável de aprendizagem online conteúdo editado por...

19
OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração. meios para facilitar a busca de conteúdo editado/contribuição . meios de delegação de moderação. meios de identificar membros que causam "ruído" na comunidade e forma de excluí- los se necessário.

Upload: internet

Post on 21-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSUma Comunidade Sustentável de

Aprendizagem Online

Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária.

meios de comunicação/colaboração. meios para facilitar a busca de conteúdo

editado/contribuição . meios de delegação de moderação. meios de identificar membros que causam

"ruído" na comunidade e forma de excluí-los se necessário.

Page 2: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSUm Livro

Philip and Alex's Guide to Web Publishing"This book is a catalog of the mistakes that I've made while building more than 100 Web sites in the last five years. I wrote it in the hopes that others won't have to repeat those mistakes."

Philip Greenspun

http://philip.greenspun.com/panda/

Publicado (Web): Setembro 1998

Publicado (impresso): Abril 1999

Page 3: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSUm Livro

Software Engineering for Internet Applications

“The student finishes knowing how to build amazon.com by him or herself." Eve Andersson, Philip Greenspun, Andrew Grumet

http://philip.greenspun.com/seia/ Para: desenvolvedores de softwares que desejam construir

comunidades online ou outra aplicação multi-usuário para a Internet.

gerentes que avaliam software para suporte a comunidades online .

Page 4: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSUma Tecnologia Madura para

Aplicações na Web

um "toolkit" avançado para construção de aplicações escaláveis para web para suporte a comunidades.

um "framework" robusto, escalável, para construção de websites com conteúdo dinâmico.

uma coleção de aplicações prontas para uso e serviços que podem ser utilizados para criar websites.

derivado do ArsDigita Community System (ACS), atualmente parte da Red Hat, Inc., distribuído como software GPL

uma arquitetura de software modularizada e extensível

Page 5: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSUm repositório de software livre e de código

aberto com uma longa história

“The source code repositories show that the project is over 6 years old."

http://www.ohloh.net/projects/3877/analyses/latestHistória (Fatos importantes)

1999: Ben Adida, Don Baccus interessados no desenvolvimento de websites livres de licença Oracle, criam projeto ACS/Pg para usar Postgresql, logo renomeado OpenACS.

início 2000: aD forma uma equipe para desenvolver o toolkit ACS sem distrações oriundos de "apelos" de clientes. VC assume direção da empresa.

ainda em 2000, ACS começa a ser reescrito -- em Java2001: aD considera obsoleto o trabalho com ACS3 do ponto de vista de "mercado" e prioriza ACS4 (Java). Equipe ACS4 passa de 50 desenvolvedores.   

Page 6: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSUm repositório de software livre e de código

aberto com uma longa história

ainda em 2001: OpenACS ultrapassa aD em termos de atividade visível com desenvolvimento do OpenACS 4 (sucessor do OpenACS 3.2.5, fork original do ACS Tcl)

mais em 2001: disputas internas, saída de Greenspun, reengenharia social, aD trabalha para afastar desenvolvedores de comunidades externas numa tentativa de "fechar" o código do ACS4e. aD recusa associação com Microsoft.

final de 2001: ACS4.6 (Java) tem release com licença modificada do código ACS que praticamente exclui participação da comunidade OpenACS.

Fevereiro 2002: aD fecha as portas após ser comprada pela RedHat Inc.

28 de Outubro 2002: OpenACS 4.6.0 é liberado

Page 7: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSCultura da Comunidade

"OpenACS is more than a technology, it is a vibrant community." Jade Rubick, em http://www.openacs.org/xowiki/community-culture

cooperação/moderação/confiança governança Componentes da arquitetura maduros e testados em

ambientes de grande demanda suporte comercial/não comercial (via

comprometimento de instituições) documentação

Page 8: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSSubsistemas

Interface do Usuário OpenACS ( OpenACS Tcl API; OpenACS PL/SQL;

OpenACS PL/PgSQL) Linguagem interpretada (Tcl e extensões [tDOM,

XoTcl, tWSDL]) RDBMS (PostgreSQL/Oracle) Linguagem procedural declarativa SQL

(PL/PSQL,PL/PgSQL) servidor web (Aolserver e extensões) sistema operacional

Page 9: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSSubsistemas: diagrama

Page 10: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSFramework para Aplicações na Web

“A web application framework is a set of software tools and libraries that make it easier to create web applications. They typically provide functionality such as database access, templating and session management." Fonte:http://en.wikipedia.org/wiki/Web_application_framework

Características da Arquitetura OpenACS Arquitetura multi-tier MVC não completamente funcional Metadados e geração automática de código no contexto de aplicações web típicas de comunidades identifica claramente papéis para componentes na Interface do Usuário com persistência de dados

Page 11: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSFramework para Aplicações na Web

"Pattern" Model-View-Controller no OpenACS: É elemento da arquitetura OpenACS, utilizada

pelo ATS para separação entre lógica,dados e apresentação e obtenção de componentes reusáveis da apresentação (included templates, master templates) 

The model is the representation in the database of the ACS Objects and their associated PL/SQL package methods.

The view is the ADP template that formats the datasources retrieved through the controller into a presentation for a user.

Page 12: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSFramework para Aplicações na Web

The controller is the combination of the Request Processor and the application logic pages implemented as .tcl scripts that prepare data sources for the templating system.

Diagrama MVC Request Processor

Page 13: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

Diagrama MVC

Page 14: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

http://www.openacs.org/doc/acs-templating/developer-guide.html 

Page 15: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

Request Processor

Page 16: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

http://www.openacs.org/doc/openacs-5-2/request-processor.html

Page 17: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSFramework para Aplicações na Web

Ambiente de Programação RDBMS: Oracle ou PostgreSQL Linguagem Procedural: Tcl OpenACS - Ambiente de execução: Aolserver Extensões ao toolkit: XoTcl,

http://www.tdom.org, Twis

Page 18: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSAmbiente de Execução

Servidor de Aplicação Aolserver Uma URL = um arquivo Linguagem Filtros: habilidade do servidor web em executar

um fragmento de código antes de servir uma URL que inicia com /foo/. Particularmente útil para controle de acesso ao código.

URL abstrata Log centralizado de execução SQL

Page 19: OpenACS Uma Comunidade Sustentável de Aprendizagem Online Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária. meios de comunicação/colaboração

OpenACSFramework para Aplicações na Web

Referência para Desenvolvedores http://www.openacs.org/doc/openacs-5-2/dev-

guide.html