Desenvolvimento de um Componente para Gerenciamento de Perfis de Usuários para o Joomla!



Documentos relacionados
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.

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento

Oficina Joomla. Prof. M.Sc. Marcos Roberto de Moraes

Consultoria sobre Joomla!

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Construindo sítios profissionais com Mambo

Curso de Introdução ao Plone. Instrutores Carlos Alberto Alves Meira Erick Gallani

WordPress Institucional UFPel Guia Rápido

Tutorial: Joomla! Explicar o gerenciamento de conteúdos por meio do Joomla! 14 de novembro de 2014 Fernando Pablos Versão 1.0

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

MANUAL DO ALUNO Ambiente Virtual de Aprendizagem MOODLE

Portal AEPQ Manual do utilizador

Conteúdo. Curso de Introdução ao Plone. O que é Plone. Parte I Conceitos básicos

INTRODUÇÃO A PORTAIS CORPORATIVOS

Anote aqui as informações necessárias:

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.

Manual de Utilização do PLONE (Gerenciador de página pessoal)

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

Definições: quando usar cada um?

Conceitos de extensões Joomla!

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

GERENCIADOR DE CONTEÚDO

SENADO FEDERAL Secretaria Especial do Interlegis - SINTER Subsecretaria de Tecnologia da Informação - SSTIN. Produto: ATU-PM

Imóvel Mix SGI. 1. Acesso ao Sistema 2. Aspectos Gerais 3. Configuração da Empresa 4. Cadastro de Usuários

Organizar a estrutura do site

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

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

5 O Joomla: Web Apache Banco de Dados MySQL

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

MANUAL. Perfil de Professor

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

A IMPORTÂNCIA DO JOOMLA NA GESTÃO DA INFORMAÇÃO PEDAGÓGICA. Razões justificativas da acção: Problema/Necessidade de formação identificado

MANUAL DE UTILIZAÇÃO

A opção de CMS que vem crescendo rápido. Bruno Gomes Cláudio Barbosa Cláudio Gomes

Visão geral. Para totós V 1. 0

SISTEMA PARA PORTAL DE NOTÍCIAS: Jornais, Revistas, Televisão etc

OFICINA USO DO I3GEO. Levindo Cardoso Medeiros.

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Utilizaremos a última versão estável do Joomla (Versão 2.5.4), lançada em

Manual do Visualizador NF e KEY BEST

Menus Personalizados

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

02 - Usando o SiteMaster - Informações importantes

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Personalizações do mysuite

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

Desenvolvendo Websites com Joomla. Breno Leonardo G. de M. Araújo

Aplicação Prática de Lua para Web

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

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

formação em WeB developer

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Cursos de Magento Gugliotti Consulting

UNIVERSIDADE FEDERAL DA FRONTEIRA SUL AMBIENTE VIRTUAL INSTITUCIONAL MOODLE/UFFS

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

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE: SÃO CAETANO DO SUL - SP - CEP

M a n u a l d e I n s t a l a ç ã o d o Q u a l i t o r A d v a n c e d

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

Aplicativo da Manifestação do Destinatário. Manual

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

Rede de Laboratórios de Produtividade de Software

Sistemas de Produtividade

MANUAL DO PVP SUMÁRIO

Integração com o Ambiente Virtual de Aprendizagem Moodle

WampServer. O ícone do mesmo aparecerá no rodapé do monitor, próximo ao. Language => portuguese.

Índice. Enquadramento do curso 3 Estrutura Programática 4. Primeiros passos com o e-best Learning 6. Actividades e Recursos 11

Joomla! para iniciantes. Djonatan Buss Jerônimo Medina Madruga

[SITE FÁCIL CDL MANUAL DO USUÁRIO]

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Documento de Requisitos Sistema WEB GEDAI

DIÁRIO DE CLASSE. Atenciosamente,

MANUAL DO USUÁRIO. AssetView FDT. AssetView FDT

Diferenças da versão 6.3 para a 6.4

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Instrução de Trabalho Base de Conhecimento

Guia do Usuário do Lêmure Portal. Este guia destina-se ao usuário da área administrativa, ou seja, o Painel de Controle do Lêmure Portal.

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Cartilha da Nota Fiscal Eletrônica 2.0 Hábil Empresarial PROFISSIONAL & Hábil Enterprise

OCOMON PRIMEIROS PASSOS

M a n u a l d e I n s t a l a ç ã o d o Q u a l i t o r A d v a n c e d

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

Documento de Análise e Projeto VideoSystem

Cenários do CEL. Acessar ao sistema

Manual do Usuário. E-DOC Peticionamento Eletrônico TST

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

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

1 Instalação de Pacotes RPM no Metasys Contato...10

INSTRUMENTO NORMATIVO 004 IN004

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Configurações da Diretiva de Grupo. Leandro Stein. Turma 2. Bloqueio do Painel de Controle

Sumário. 1 Tutorial: Blogs no Clickideia

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO

OFICINA BLOG DAS ESCOLAS

Transcrição:

Desenvolvimento de um Componente para Gerenciamento de Perfis de Usuários para o Joomla! Michel Carlo Santos Mendes 1, André Luiz Peron Martins Lanna 1, Ricardo de Oliveira Duarte 1 1 Departamento de Computação Universidade Federal de Ouro Preto (UFOP) Campus Universitário Morro do Cruzeiro CEP 35400-000 Ouro Preto MG michelcarlo@gmail.com, {andre.lanna, rduarte}@iceb.ufop.br Abstract. This work the development of a component toward the profile management of portals users constructed with Joomla Content Management System. The main characteristic of the developed component is to assure the profile owner to manage its own personal information, since the user is authorized to publish content in the portal. The development is justified by a lack of components that provide this functionality. Resumo. Este trabalho trata do desenvolvimento de um componente para o gerenciamento de perfis de usuários de portais elaborados com o Sistema de Gerenciamento de Conteúdo Joomla. A característica principal do componente desenvolvido é garantir autonomia de gestão de suas próprias informações pessoais a um usuário autorizado a publicar conteúdos no portal. Este desenvolvimento se justifica pela carência de componentes com tal funcionalidade. 1. Introdução Um Sistema Gerenciador de Conteúdo (SGC) é um sistema computacional que integra ferramentas necessárias para criar, gerenciar, editar e inserir conteúdo em tempo real em websites, sem a necessidade de programação de uma linha de código. Entende-se por conteúdo, arquivos multimídia, fotos, figuras, planilhas, documentos eletrônicos e qualquer outro tipos de conteúdo acessíveis atualmente pela Web. O objetivo de um SGC é estruturar e facilitar a criação, administração, distribuição, publicação e disponibilidade da informação [Svarre 2008]. Com SGCs é possível desenvolver portais ou simplesmente ambientes de gerenciamento de documentos internos para empresas[wikipedia 2008, Terra 2002]. Dentre as características funcionais de um SGC destaca-se a identificação de usuários, a possibilidade de adição rápida de recursos de gerência da informação, a flexibilidade de modificação da aparência do website (templates) e facilidade de edição sobre o conteúdo da página [Svarre 2008]. Entretanto, a característica mais marcante que elucida a existência de SGC é a viabilização rápida do desenvolvimento de websites baseados na interatividade e participação colaborativa de usuários devidamente autorizados para tal operação. Os SGC na sua maioria são softwares livres. Atualmente, o Joomla pode ser considerado o SGC em maior expansão, provavelmente o mais procurado, tendo a maior comunidade de usuários e desenvolvedores, e maior número de recursos disponíveis [Siteground 2008]. Cada SGC possui linguagens e ferramentas próprias que dão maior ou menor flexibilidade na inclusão de funcionalidades gerenciais ao website

a ser desenvolvido. No caso do Joomla, que é todo baseado em software livre, as ferramentas disponíveis para a criação de websites são chamadas de extensões. As extensões são classificadas em templates, componentes, módulos, plug-ins e pacotes de idiomas[joomla 2008c]. Estruturalmente qualquer SGC é composto por um frontend e um backend, como explicado por Hagen Graf [Graf 2006]. O frontend é o website, ou seja, o que os visitantes e os usuários registrados (através de um login) vêem. Por outro lado, o backend, contém a camada de administração do website, que fica em uma URL (Uniform Resource Locator) diferente da URL do frontend. O Joomla possui diferentes tipos de usuário, com diferentes permissões de utilização. Os usuários ligados ao frontend, estão relacionados à criação e manutenção de conteúdo, ao passo que os usuários de backend estão relacionados às atividades administrativas do portal. Dentre elas podemos citar a configuração e manutenção da página, instalação de novos recursos, administração dos usuários de frontend e backend, sendo que ainda podem realizar a criação e manutenção de conteúdo. Uma das funcionalidades principais que se espera de um SGC na construção de websites, é a autonomia que um usuário de frontend deva possuir para o gerenciamento de suas próprias informações pessoais. Desta forma, cada usuário pode atualizar suas próprias informações cadastrais e determinar quais informações deverão ficar disponíveis para acesso público ou privado, independente de qualquer outro usuário de backend. No desenvolvimento do portal do Departamento de Computação (DECOM) da Universidade Federal de Ouro Preto (UFOP) 1 tomando-se como base o SGC Joomla, percebemos nesse SGC uma carência de componentes para gerenciar perfis que proporcionasse a referida autonomia ao próprio dono do perfil, permitindo alterá-lo a qualquer momento, desde que devidamente cadastrado por login no website. Diante dessa carência de soluções, constatada através de pesquisa em fóruns e repositórios de componentes livres [Joomla 2008a, Joomla 2008b, Forum 2008], surgiu a necessidade de desenvolver um software livre para o Joomla, mais precisamente um componente para oferecer autonomia de gerenciamento de perfis de usuários através do frontend de um website construído com esse SGC. Para atingirmos o objetivo de construção de um componente citado no parágrafo anterior, necessitamos compreender a estrutura para o desenvolvimento de componentes no Joomla [Graf 2006], apresentada de forma sucinta na seção 2. Na seção 3, descrevemos os requisitos básicos que tomamos no desenvolvimento do componente, baseado na observação de portais web com características e funcionalidades semelhante a que desenvolvemos. Na seção 4, é relatada em detalhes a estrutura do componente desenvolvido. Resultados e diferenciais alcançados compõem a seção 5 e finalmente conclusões fecham o artigo na seção 6. 2. Estrutura de Componentes do Joomla A estrutura de um componente para Joomla é basicamente composta por uma uma camada de apresentação, que é a interface gráfica do componente, recebendo as ações e dados do usuário, e uma camada de manipuladores de eventos, que trata os dados e eventos recebidos pela interface gráfica e executa as ações correspondentes. 1 Acessível pela URL: http://www.iceb.ufop.br/decom2/joomla/

Segundo MOS Project, é recomendável ao desenvolver componentes para Joomla, separar manipuladores de eventos da camada de apresentação [MosProject 2008]. Na maioria das vezes, nota-se pares de arquivos para cada funcionalidade implementada, um contendo a camada de apresentação (interface gráfica) e outro contendo a camada funcional (manipuladores de eventos e dados recebidos através da interface gráfica). Ao desenvolver o componente, geralmente é implementado um arquivo principal de tratamento de eventos componente.php. Este é o arquivo do componente à ser carregado inicialmente pelo Joomla, contendo blocos switch/case que especificam ações apropriadas para cada evento. Outro arquivo componente.html.php contém uma classe com as funções necessárias para exibição do código html que gerará a interface do componente. O diretório que contém os arquivos também deve seguir o padrão de nomes do Joomla precedendo o nome escolhido pelo prefixo com. Ao entrar no diretório components, nota-se que todos os diretórios possuem nomes iniciando com com seguidos da descrição do componente que armazena (com contact, com content, com users, etc...). Os arquivos necessários para o funcionamento do backend (interface de administração) de um componente, devem ficar armazenados num diretório /administrator/components/- com componente juntamente com os arquivos referentes à instalação e desinstalação do componente, e similarmente os arquivos necessários para o funcionamento do frontend (interface para o website) de um componente, devem ficar armazenados num diretório /components/com componente. Segundo Hagen Graf, por questões de segurança, é padrão no Joomla proibir acesso aos arquivos.php de componentes explicitamente no navegador, permitindo que os mesmos sejam somente acessados por outros arquivos php do Joomla [Graf 2006].Para tal, em todos os arquivos.php, antes de iniciar as funcionalidades, é verificada por padrão se o arquivo está sendo chamado por um sistema Joomla, para prevenir sua execução indevida. 3. Definição dos requisitos Ao observar portais acadêmicos (escolas e universidades) identificamos uma necessidade de uma ferramenta para disponibilização de perfis pessoais dos usuários autorizados (alunos, professores e funcionários). Nos casos observados é desejável que esses usuários do portal possuam autonomia para poder atualizar seus dados cadastrais de maneira rápida e independente de outros que administrem ou gerenciem o portal. Consideramos dados cadastrais informações de contato, página pessoal, imagem pessoal e senha de login. Uma outra necessidade observada é a configuração destes perfis individuais através de editores WYSIWYG (What You See Is What You Get), tornando possível a formatação prática e personalizada do texto. Além disso agregamos a possibilidade de upload de imagens, característica comum encontrada nos portais que exibem informações pessoais para contato de um determinado usuário. Por fim, como em todo site que mantém algum tipo de cadastramento de usuários, definimos como requisito funcional a possibilidade de alteração de senha pelo próprio usuário. Uma vez definido os requisitos do componente, partimos então na próxima seção para a estrutura do mesmo, de forma a atender fielmente a filosofia de um SGC.

4. A estrutura do componente ContactDetails Editor A estrutura do componente desenvolvido nesse trabalho se baseou no componente nativo do Joomla, chamado Contacts. Isto se deve ao fato de tentarmos manter a compatibilidade entre os componentes. A principal característica que o difere do Contacts é a implementação de suas funcionalidades disponíveis somente pelo backend para o frontend, adicionado a implementação dos requisitos definidos na seção 3. O componente desenvolvido recebeu o nome de Contact Details Editor. Para manter o padrão de localização adotado pelo Joomla, a estrutura de arquivos e diretórios foi organizada da seguinte maneira: /administrator /components /com_contactdetaisedit admin.contactdetailsedit.php admin.contactdetailsedit.html.php install.contactdetailsedit.php uninstall.contactdetailsedit.php contactdetailsedit.xml /components /com_contactdetailsedit contactdetailsedit.php contactdetailsedit.html.php contactdetailsedit_items.xml nophoto.jpg Os principais programas desenvolvidos foram: contactdetailsedit.php: arquivo da camada funcional que realiza o tratamento de eventos e as chamadas para os métodos específicos que manipulam a tabela na base de dados do componente Contacts. Este é o arquivo do componente que é carregado inicialmente pelo Joomla. O acesso à base de dados é feito através da variável padrão do Joomla $database que apresenta funcionalidades simplificadas para execução de queries. contactdetailsedit.html.php: arquivo da camada de apresentação que possui os métodos para exibição da interface gráfica do componente (Figura 1) de acordo com os dados passados como parâmetro pela camada funcional. Para edição de dados do usuário, é utilizado um objeto do tipo mostabs, que cria abas dividindo o conteúdo. Além disso, para chamarmos um editor WYSIWYG, utilizamos o comando editorarea, que chama num campo de texto HTML, o plugin do Joomla para editor WYSIWYG associado ao usuário específico (Figura 2). Figura 1. Interface inicial do frontend do Contact Details Editor.

Figura 2. Tela de edição, com conteúdo separado em abas, mostrando a chamada ao editor WYSIWYG. contactdetailsedit items.xml: arquivo xml contendo parâmetros de configuração à serem manipulados por um objeto mosparameters, que possibilita a configuração de visibilidade de dados do perfil. install.contactdetailsedit.php: arquivo com comandos para serem executados na instalação do componente. Cria um diretório para armazenamento das imagens pessoais dos usuários e exibe uma mensagem de about. contactdetailsedit.xml: arquivo xml contendo instruções para a instalação do componente, como a criação de menus no backend, e a correta localização onde arquivos devem ficar na hierarquia de diretórios. Para tornar o componente compatível com o instalador do Joomla, todos estes arquivos são armazenados em um mesmo diretório, e compactados para um único arquivo chamado com contactdetailsedit.zip, gerando assim o pacote de instalação do componente pronto para ser carregado pelo backend do Joomla. 5. Resultados e diferenciais alcançados Os componentes que realizam o gerenciamento de perfis de usuários no Joomla e que foram objetos de estudo são: Contacts (componente nativo do Joomla); Community Builder, UHP2 (que permite a criação de páginas pessoais pelos usuários). Todos apresentaram uma ou mais restrições em relação a nossa demanda, o que motivou o desenvolvimento de nosso componente. Na tabela abaixo relacionamos os requisitos com os componentes avaliados, incluído o desenvolvido pela pesquisa (Contact Details Editor). A implementação e instalação do nosso componente permitiu que cada usuário fosse capaz de realizar alterações sobre seus dados cadastrais, configurar quais dados estarão disponíveis ao público e a grupos de usuário, bem como atualizar imagem a ser exibida em seu perfil, além de permitir a alteração de sua senha pessoal. Estas funcionalidades, por não terem sido encontradas em sua totalidade nos componentes avaliados, foram completamente implementadas e testadas, constituindo-se assim um componente válido para o Joomla. Este componente está disponível para download em

Legenda: 1. Contacts 2. Community Builder 3. UHP2 4. Contact Details Editor Requisitos 1 2 3 4 Alteração de dados pessoais pelo frontend. x x Alteração de senha pessoal pelo frontend. x x Edição de páginas pessoais. x x Upload de imagens para o perfil pessoal. x x Tabela 1. Requisitos para o componente de gerenciamento de perfis de usuário http://www.contacts.acolhimento.com/ sob licença GPL. 6. Conclusões Nesse artigo descrevemos o desenvolvimento de um componente para um SGC, popular e completamente baseado em software livre, conhecido como Joomla. O componente desenvolvido foi chamado de Contact Details Editor. Esse componente proporciona autonomia para alteração de perfis individuais ao próprio usuário dono do perfil em portais desenvolvidos com Joomla. Os resultados e os diferenciais demonstraram que o componente desenvolvido atende a uma necessidade que não é completamente satisfeita pelos componentes avaliados para tal fim. Concluímos que a relevância do trabalho se concentra principalmente na contribuição ao desenvolvimento do Joomla em acordo com a filosofia de SGC. Referências Forum, J. (2008). Joomla forum - joomla downloads, joomla articles, tutorials and more. http://www.joomlaforum.org/. Acessado em 24/01/2008. Graf, H. (2006). Building Websites with Joomla!. A step by step tutorial to getting your Joomla! CMS website up fast. Packt Publishing Ltd. Joomla (2008a). Joomla! community forum. http://forum.joomla.org/. Acessado em 24/01/2008. Joomla (2008b). Joomla! extensions directory. http://extensions.joomla.org/. Acessado em 24/01/2008. Joomla (2008c). Welcome to joomla! http://www.joomla.org/. Acessado em 24/01/2008. MosProject (2008). Cooking with mambo open source. http://mambo-foundation.org. Acessado em 24/01/2008. Siteground (2008). Best open source content management systems. http://www.siteground.com/best cms tools.htm. Acessado em 24/01/2008. Svarre, K. (2008). What is content management system? http://searchsoa.techtarget.com/ sdefinition/0,,sid26 gci508916,00.html. Acessado em 24/01/2008. Terra, J. C. C. (2002). Portais Corporativos. Negócio. Wikipedia (2008). Content management system. http://en.wikipedia.org/wiki/content management system. Acessado em 24/01/2008.