Colaboke: Um gerenciador de conteúdo multimídia com conceitos de framework



Documentos relacionados
Proposta Revista MARES DE MINAS

Noções de. Microsoft SQL Server. Microsoft SQL Server

ÍNDICE O QUE É... 2 COMO FUNCIONA Acervo Meus Livros Livros em destaque Fórum Notícias Ajuda Suporte...

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha.

Empresa capixaba de tecnologia lança primeiro construtor de sites do Estado

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

GERENCIAL SEPLAG CARTILHA AGENDA. Sumário

Definições: quando usar cada um?

Conectando sonhos e negócios.


Engenharia de Requisitos Estudo de Caso

Anexo I Formulário para Proposta

A EXPERIÊNCIA PIONEIRA DO LABORATÓRIO/NÚCLEO DE ARTE ELETRÔNICA: 20 ANOS DE CURIOSIDADE E INOVAÇÃO EM DESIGN DE MIDIA DIGITAL

Gerencie a sala de espera e garanta a satisfação dos pacientes

Proposta Concessionária Terra Nova Land Rover

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

Sistemas Distribuídos

Sistema de Digitalização e Gerenciamento de Arquivos On-Line

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Proposta Comercial. Proposta Comercial de prestação de serviços de Desenvolvimento de web site para o Vereador Marcelo Ramos.

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

CONSTRUÇÃO DE BLOG COM O BLOGGER

Persistência e Banco de Dados em Jogos Digitais

Wilson Moraes Góes. Novatec

Construindo sítios profissionais com Mambo

Menus Personalizados

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Módulo de Usuário 04 Orientações para o Uso 05 Acessando as Salas 06 Dentro do Ambiente das Salas 08 (1) Outros Usuários 09 (2) Seus Dados 09 (3)

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Artur Petean Bove Júnior Tecnologia SJC

INTRODUÇÃO A PORTAIS CORPORATIVOS

SISTEMA DE ABERTURA DE CHAMADOS TÉCNICOS DE INFORMÁTICA GLPI ( GESTÃO LIVRE DE PARQUE DE INFORMÁTICA ) Manual do Usuário

SEU WEBSITE NA MEDIDA CERTA

PROPOSTA DE DESENVOLVIMENTO

Manual do Painel Administrativo

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

Investigando Sistemas de Informação. Crafty Syntax Live Help

Mídias sociais como apoio aos negócios B2C

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Manual SAGe Versão 1.2 (a partir da versão )

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Arquitetura de Informação

Organização dos Estados Ibero-americanos. Para a Educação, a Ciência e a Cultura

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

Processos de Desenvolvimento de Software

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

PVANET: PRINCIPAIS FERRAMENTAS E UTILIZAÇÃO DIDÁTICA

Projeto Pé na Dança. Bruno Barros Comunicador Visual /

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

REFORMULAÇÃO SITE ARCA BRASIL

O Tour Virtual é uma ferramenta capaz de apresentar cada detalhe do ambiente e tornar o seu produto mais. atraente.

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

EMENTAS DAS DISCIPLINAS

SUA LOJA VIRTUAL. É com grande satisfação que apresentamos a você uma proposta de desenvolvimento de website para sua empresa.

Existem três categorias básicas de processos empresariais:

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Social Media. Criação Personalização Gerenciamento.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho sobre Drupal-7 Atividade-05-Sistemas de Informação

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES

PROJETO INFORMÁTICA NA ESCOLA

FECAP. Plataforma Microsoft

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Documento de Análise e Projeto VideoSystem

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Memorial Descritivo. Portfólio Acadêmico Online

Sistema de Controle de Solicitação de Desenvolvimento

SISTEMAS DISTRIBUÍDOS

EQUIPE: ANA IZABEL DAYSE FRANÇA JENNIFER MARTINS MARIA VÂNIA RENATA FREIRE SAMARA ARAÚJO

Figura 1 - Arquitetura multi-camadas do SIE

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Informática Aplicada

MANUAL DE MEMBRO COMUNIDADE DO AMIGO

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Introdução ao Tableau Server 7.0

Identidade Digital Padrão de Governo

Transcrição:

Colaboke: Um gerenciador de conteúdo multimídia com conceitos de framework Antonio D. De Carvalho Jr 1, Diego G. Brandão 1, Tatiana A. Tavares 1 1 Laboratório de Vídeo Digital (LAVID) Universidade Federal da Paraíba (UFPB) João Pessoa, PB - Brasil {deusanyjunior,tatiana}@di.ufpb.br, brandaodg@gmail.com Abstract. This article describes the results of the study and development of a multimedia content management system. The manager presents all the basic functionalities required to use, a framework structure providing the development of new applications from the same, and to serve as a basis for studies related to internet systems. Resumo. Este artigo descreve o resultado do estudo e desenvolvimento de um gerenciador de conteúdos multimídia. O gerenciador apresenta-se com todas as funcionalidades básicas necessárias e com uma estrutura de framework propiciando o desenvolvimento de novas aplicações a partir do mesmo, além de servir como base para estudos voltados a sistemas para internet. 1. Gerenciamento de conteúdo na WEB Uma diversidade de conteúdos digitais é distribuída diariamente via internet com o intuito de permitir uma absorção de conhecimento dinâmica aos usuários deste meio de comunicação. À medida que o fluxo desses conteúdos for aumentando, gerenciadores são desenvolvidos a fim de tornar mais prática a edição e disponibilização de conteúdo. Com isso surgiram os Sistemas de Gerenciamento de Conteúdo (Content Management Systems CMS) [Brampton, 2008]. Devido à diversificação de sua utilização, seja ela por empresas ou usuários comuns, passaram a existir diversos tipos de CMS. O desenvolvimento dos mesmos segue a mesma sequência de passos de qualquer sistema. No entanto, os CMS voltados para WEB apresentam uma característica especial que é a necessidade de facilitar a interação do usuário considerando que será utilizado por qualquer tipo de usuário, tornando-os semelhantes aos programas comuns como editores de textos ou aplicativos de leitura de e-mail. Diante disto, conceitos de gerenciadores de conteúdo multimídia serão apresentados e levados ao encontro de noções de frameworks para desenvolvimento de aplicações da voltadas à web. Por fim será apresentado o Colaboke que engloba partes destes conceitos em seu desenvolvimento, e será apresentado um comparativo com sistemas semelhantes. 1.1. Gerenciamento de conteúdo multimídia O termo multimídia tem evoluído a abrangência da sua definição ao longo dos anos. O termo normalmente é tratado a com base na definição realizada por Chapman &

Chapman (2000): Multimídia é a combinação, controlada por computador, de pelo menos um tipo de media estático (texto, fotografia, gráfico), com pelo menos um tipo de media dinâmico (vídeo, áudio, animação). Sendo assim, gerenciadores de conteúdo multimídia hão de alcançar objetivos diferentes dos gerenciadores comuns de arquivos. Dependendo do tipo conteúdo que se deseja gerenciar, há de se pensar em como haverá de proceder. A instalação de componentes nos gerenciadores resolve a maioria dos problemas neste caso, limitando-se, no entanto, às funcionalidades apresentadas por tais componentes. Outra opção vem a ser a utilização de um gerenciador específico para o tipo de mídia desejado. Esta última opção nem sempre é possível em casos específicos visto que a maioria dos CMS são genéricos. Em última instância o que resta é o desenvolvimento do gerenciador. Um gerenciador de arquivos multimídia torna-se especial perante outros gerenciadores de conteúdo pelo fato de arquivos multimídia se apresentarem em diversos formatos e extensões, além de necessitarem de um servidor apropriado para suportar o fluxo de arquivos de alta qualidade. Algumas características básicas que também podem ser citadas são: perfis de usuários personalizáveis; gerenciamento de comentários e permissões em arquivos; possibilidade de links entre usuários seja por meio de comunidades, grupos ou projetos; utilização de sistema de busca interno baseado em tags ou outras classificações relevantes para identificação de conteúdo; etc [Verens, 2010]. O desenvolvimento de um CMS partindo do início seria uma reengenharia de um sistema comum. Utilizar outros CMS como base poderia ser útil também, tendo em vista que se teria tudo pronto, restando apenas um estudo de sua estrutura para se realizar as alterações necessárias. Porém, a maioria dos gerenciadores existentes não são amigáveis para serem alterados devido à complexidade considerando o compromisso de serem genéricos. Até para o estudo acadêmico vem a ser inviável para um estudante iniciar seus estudos tentando alterar um gerenciador genérico com diversas funcionalidades [Welling e Thompson, 2005]. 2. Frameworks voltados para WEB O reuso de software e sistema está geralmente vinculado à diminuição de custos, redução de prazos e aumento da qualidade. Partindo de abstrações maiores que objetos, temos os frameworks como auxiliadores no processo de desenvolvimento. Desta maneira é possível afirmar que um framework é um projeto de subsistema composto por um conjunto de classes abstratas e concretas e as interfaces entre elas [Wirfs-Brock e Johnson, 1990]. Ainda podemos dizer que um framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação [Fayad e Schmidt, 1997]. Os frameworks podem ou não serem apresentados como uma aplicação propriamente dita. Uma diferença importante entre eles está voltada ao fato de serem do tipo vertical ou horizontal. Os frameworks verticais são desenvolvidos com base na experiência obtida em um domínio específico e são tidos como frameworks especialistas. O outro tipo é o caso genérico no qual a aplicação que o utilizará poderá compreender qualquer âmbito de uso [Sommerville, 2007]. Para conteúdos digitais é mais comum encontrar frameworks genéricos, sendo eles apresentados com módulos

para configuração e inserção de conteúdo, principalmente. Outras características deles é a utilização de templates proporcionando uma diversificação de interfaces baseada comumente no redirecionamento dos módulos e modificação de padrões de cores. A dinamicidade dos conteúdos digitais perante sua a diversidade de formatos impõe aos frameworks um controle maior do fluxo de atualizações. Sendo eles genéricos em sua grande parte, quão maior for este fluxo mais complexo se torna o framework considerando que o mesmo terá que acompanhar ambos os pontos citados, dinamismo e diversificação. Por um lado, iniciar o desenvolvimento de uma aplicação a partir de algo que já tenha tudo pronto e que se encontra sempre em atualização facilita o trabalho, mas a amarração arquitetural que se encontrará pela frente poderá se tornar um empecilho por não permitir muita remodelagem ou não dar brechas para facilitar alterações arquiteturas para casos específicos. 3. Colaboke: um gerenciador de conteúdo com conceito de framework Considerando o caminho para onde estão evoluindo as tecnologias para a internet desde sua criação, prover maneiras de suprir necessidades dos usuárias é o que impulsiona todo o processo de evolução. Divulgação de informações, troca de mensagens, estreitamento da distância entre serviços e consumidores, possibilidade de realizar todas as atividades computacionais na internet desde edição de texto a gerenciamento de sistemas, são exemplos de necessidades supridas com a evolução da internet. Hoje em dia o foco na computação nas nuvens é o que está dando forças a esta evolução constante [Mather et al, 2009]. A possibilidade de compartilhamento e gerenciamento destes tipos de arquivos são facilmente encontradas em sites como YouTube (www.youtube.com) que proporciona edição básica de informações em arquivos de vídeo digitais, e também sites como o MySpace (www.myspace.com) que permite a divulgação de arquivos de áudio. Alguns outros sites proporcionam o download de arquivos de qualquer tipo de formato facilitando a distribuição de conteúdo multimídia, como é o caso do 4Shared (www.4shared.com). No entanto, poucos sistemas web proporcionam o gerenciamento e edição de conteúdos com a mesma praticidade dos programas para desktop. Na intenção de permitir o desenvolvimento de gerenciadores de conteúdo deste tipo com maior facilidade, surgiu o Colaboke (www.colaboke.lavid.ufpb.br). A princípio o Colaboke foi concebido como um simples sistema para colaboração de arquivos de áudio, mas durante o seu desenvolvimento vários conceitos foram aperfeiçoados deixando sua estrutura modularizada como o que acontece em outros CMS. Um dos pontos principais é sua facilidade de edição. O Colaboke utiliza as linguagens PHP e MySQL o que torna o código aberto para download e utilização. Os módulos desenvolvidos se dividem de acordo com sua funcionalidade. O módulo de cadastro de usuário permite que o usuário insira suas informações básicas e aceite o contrato de termos de serviço. Anexado ao cadastro temos o módulo de perfil do usuário, no qual o usuário pode inserir e alterar suas informações pessoais além de realizar configurações de permissões de acesso aos seus projetos. O módulo de projetos apresenta-se como o principal módulo no qual é possível criar e editar um projeto e suas informações.

Como a intenção era tornar prática a utilização do Colaboke em qualquer outra aplicação, alguns padrões de projetos foram utilizados. Um deles foi o Observer para permitir diferentes visualizações nos projetos, definindo visualizações para os usuários comuns, cadastrados, colaboradores e os donos de projeto. Outro padrão utilizado entre os projetos foi o Builder em virtude de termos diversos tipos de arquivos multimídia a serem apresentados, logo ao visualizar um projeto, seus arquivos podem ser apresentados em formatos diferentes e assim precisam ser tratados como objetos diferentes e utilizam meios diferentes de leitura e visualização. A utilização do padrão Composite se dá em função da representação e manipulação de objetos correlatos como projetos, arquivos dos projetos, logos e players dos arquivos [Gamma et al, 1995]. Há também uma implementação de funções do sistema seguindo a metodologia CRUD (Create, Read, Update and Delete) [Verens, 2010]. Esta metodologia permite uma manipulação prática das operações básicas de um banco de dados. Sendo assim, torna-se possível realizar as operações de bancos de dados relacionais executando apenas a chamada de métodos específicos para cada objeto que se queira manipular, seja ele um usuário, projeto ou arquivo do Colaboke. A logomarca do projeto Colaboke (Figura 1.) remete as mesas de som utilizadas pelos profissionais de áudio, procurando fazer uma relação dessa maquinária com a colaboratividade das redes sociais, ficando explícita através dos quadrados coloridos que conotam um aglomerado de pessoas (redes). A cor branca significa os usuários contectados à rede social, daí o destaque na letra "C" que direciona o olhar por neutralizar todo o colorido da logo. Esta brincadeira visual pode ser fortuita a cada captação do usuário, tornando-se um atrativo visual à recepção e decodificação. O layout do site segue o gênero padrão das redes sociais (Figura 1). Procura facilitar o acesso à informação de forma clara e intuitiva, atendendo ao princípio da proximidade, onde devemos agrupar os itens relacionados entre si [Williams, 1995]. Para isso está montado num sistema de grids simples, com apenas três botões no menu principal, que comandam a navegação estrutural de todo site. A atenção visual direciona-se para a área central que é onde ocorre o conteúdo dinâmico. (a) (b) Figura 1. (a) Logo do Colaboke e (b) seu layout

Diante disso, tem-se o Colaboke como um gerenciador de arquivos multimídia estruturado em módulos capaz de ser reutilizado para desenvolvimento de sistemas inovadores para a web. Pelas suas características de framework vertical no âmbito multimídia, novas oportunidades de estudo e desenvolvimento são deixadas nas mãos de quem apresentar interesse por este tipo de CMS. 4 Trabalhos correlatos Na literatura da área temos dois grandes exemplos de gerenciadores e editores de arquivos multimídia. O primeiro deles surgiu no final de 2006, o Jamglue (www.jamglue.com). Este sistema gerenciava a colaboração de edição de arquivos de áudio via web numa interface semelhante aos editores de áudio desktop. O segundo veio no final de 2008, o Creaza (www.creaza.com). O Creaza apresenta-se como um conjunto de aplicativos online para alunos e educadores trabalharem com publicação de conteúdos digitais como desenhos animados, vídeos e áudio. Ambos os exemplos não disponibilizam seus códigos para estudos ou desenvolvimento de novas funcionalidades. 5 Conclusão Diante destes exemplos citados e de outros gerenciadores de conteúdo temos que a possibilidade de utilização de um CMS para estudos ou desenvolvimento de outro é um pouco restrita. Em alguns casos os CMS apresentam funcionalidades genéricas demais, o que pode não ser tão útil em casos específicos como no caso de gerenciadores de arquivos multimídia. Um outro ponto relevante é o caso de os exemplos de sistemas semelhantes ao Colaboke não permitirem o estudo de seus sistemas, deixando apenas a possibilidade de utilização por não apresentarem código aberto. Referências Brampton, M. (2008), PHP 5 CMS Framework Development. Packt Publishing Ltd. Chapman, N. e Chapman, J. (2000), Digital Multimedia. John Wiley & Sons. Fayad, M. E. e Schmidt, D. C. (1997). Object-oriented application frameworks. Comm. ACM 40(10), 32-8. Gamma, E., Helm, R., Johnson, R. e Vlissides, J. (1995) Design Patterns: Elements of Reusable Object-Oriented Software. 1 ed. Addison-Wesley. Mather, T., Kumaraswamy, S. e Latif, S. (2009) Cloud Security and Privacy An Enterprise Perspective on Risks and Compliance. O`Reilly. Sommerville, I. (2007), Engenharia de software. 8a Ed. São Paulo. Pearson Addison- Wesley. Verens, K. (2010), CMS Design Using PHP and jquery. Packt Publishing Ltd. Welling, L. e Thomson, L. (2005), PHP and MySQL Web Development. 3a Ed. Sams Publishing. Williams, Robin. Design para quem não é designer: noções básicas de planejamento visual. São Paulo: Callis, 1995. Wirfs-Brock, R. J. e Johnson, R. E. (1990) Surveying current research in objectoriented design. Comm. ACM, 33(9), 104-24.