Mostra Nacional de Iniciação Científica e Tecnológica Interdisciplinar II MICTI Camboriú, SC, 17, 18 e 19 de outubro de 2007. WEBCAC-CMS UMA PROPOSTA EM SOFTWARE LIVRE PARA CONTROLE DE AUTORIAS Thiago Luiz Berlim 1 ; André Fabiano de Moraes 2 RESUMO O projeto WebCAC-CMS é uma proposta em software livre para o controle de autorias que surgiu da necessidade de dinamizar o site do Colégio Agrícola de Camboriú e, teve como ponto de partida, a adoção de uma ferramenta para gerência de conteúdo (um CMS, do inglês Content Management System), chamada Joomla. Um CMS serve para ajudar um usuário a criar um site ou um portal de forma dinâmica, rápida e eficiente. Também serve para fazer um controle de autorias e ajudar a publicar e administrar diferentes conteúdos, inclusive por pessoas não técnicas, tudo isso a partir de uma estrutura inicialmente projetada. Fazer uso de uma ferramenta CMS é algo muito vantajoso em nível de produtividade e custo-benefício, visto que optou-se pela utilização do CMS Joomla desenvolvido originalmente com software livre, visando eliminar os custos com as licenças de uso, bem como obter acesso ao seu código fonte sem restrições. Já no primeiro layout apresentado, foi possível obter um ganho notável no que diz respeito à facilidade de acesso as informações disponibilizadas no site e à independência dos usuários para com os desenvolvedores, porém, devido a algumas limitações desse modelo, relacionadas principalmente a recursos estéticos decidiu-se desenvolver também um segundo layout, com maiores recursos estéticos porem mais pesado, o segundo modelo apresentado conta um menu dinâmico no topo, que ajuda a definir toda a estrutura da instituição de forma hierárquica e bem claramente. Esse layout foi feito sem utilizar cores escuras, o que lhe dá um aspecto mais suave em relação ao primeiro modelo. Palavras-chave: CMS, Joomla, Software, Livre, Gerenciador, Conteúdo. 1 INTRODUÇÃO Uma grande parte das funções necessárias para fazer funcionar um website/portal são comuns e previsíveis, tais como login de usuários, criação, edição e publicação de conteúdo, publicação de banners de propaganda, etc. Num CMS esses recursos já estão pré-programados e prontos para serem utilizados. Além disso, o CMS é extensível, através da instalação de módulos e componentes que servem para agregar funcionalidades eventualmente não presentes na instalação básica (por exemplo, uma galeria de imagens ou fórum de discussão). Muitos desses recursos estãodisponíveis como componentes para download comercial ou gratuitamente pela rede internet. Caso o usuário precise de uma funcionalidade e não encontre nenhum componente disponível na internet, ele 1 Aluno do Colégio Agrícola de Camboriú. E-mail: E-mail: deathful@terra.com.br 2 Professor Orientador. E-mail: ecv3afm@ecv.ufsc.br
2 mesmo pode programar ou contratar alguém para fazer isso, podendo tornar o componente disponível para outros usuários comercialmente ou através de licença GNU/LGPL. Dentre as ferramentas CMS mais populares, podemos citar: a) Joomla (CMS escolhido para o desenvolvimento deste projeto): criado em 2005 (a partir de outro CMS popular, o Mambo) e que está se tornando um dos mais populares, com uma comunidade atuante e crescente. Ele conta com vários módulos e componentes disponíveis, criados a partir da base herdada do Mambo e foi escrito com PHP e MySql, dois dos softwares opensource mais populares da Internet. b) Mambo: um CMS profissional muito fácil de usar, tanto para páginas simples como aplicações mais complexas. Tem incluídas características como editores de conteúdo WYSIWYG, notícias, banners, administração de link, estatísticas, arquivo de conteúdos, conteúdo de banco de dados, 20 idiomas, módulos, componentes, etc. c) Drupal: um gerenciador de websites dinâmicos que possui o código aberto e oferece diversas características e serviços para os usuários administrarem, publicarem, discutirem, agregarem novidades, utilizarem controle de vocabulários e trabalharem em publicação por XML. d) Miolo: O MIOLO é um Framework escrito em PHP utilizando conceitos de POO e que oferece uma grande gama de funções para otimizar e agilizar o processo de criação de sistemas. Segundo Soares (2004), PHP é acrônimo de Hypertext Preprocessor (Pré-Processador de Hipertexto), uma poderosa linguagem de programação Open Source, mundialmente utilizada, principalmente no ambiente Web. Segundo Vivas, (2002), a linguagem HTML (HyperText Markup Language), não é uma linguagem de programação e nem se parece com uma. Como pode ser deduzido do próprio nome, HTML é uma linguagem de marcação, utilizada apenas para formatar documentos. É baseada no uso de marcadores ou tags, demarcadas pelos sinais de < e >. Na maioria dos casos as tags devem ser utilizadas em pares, sendo um para abrir (<exemplo>), e uma para fechar (</exemplo>) o bloco.
3 Segundo Heuser (2004), é um conjunto de dados integrados que tem pôr objetivo atender a uma comunidade de usuários. Uma linguagem de programação além de ser um meio de indicar a um computador uma série de operações a executar, é um meio de exprimir idéias acerca de métodos lógicos (LEITÃO, 1995). Para Alves (2004), é um conjunto ou coleção de dados que representam uma porção do mundo real o qual se denomina mini-mundo ou universo de discurso, ou ainda um conjunto lógico e ordenado de dados que possuem algum significado. HTML (Hipertext Markup Language) é a linguagem utilizada para criação de páginas na Rede. O HTML é formado por uma sequência de comandos em texto puro, que são interpretados pelo navegador (PEREIRA, 2003). 3 METODOLOGIA Buscando o desenvolvimento de um portal que permitisse que usuários leigos, sem conhecimento de programação, fossem capazes de gerenciar seus próprios conteúdos na web para que outras pessoas viessem a ter acesso ao mesmo, criando assim uma independência para o usuário, chegou-se a um ponto de partida: a necessidade de uma interface para o usuário final de fácil utilização na web. A partir disso, tomou-se conhecimento sobre as chamadas ferramentas CMS e deu-se inicio ao projeto WebCAC em abril de 2007. Além de gerenciar o conteúdo, priorizou-se também obter um controle sob as autorias dos artigos, para que professores, coordenadores e diretores a partir de qualquer lugar e a qualquer horário pudessem ter acesso aos seus conteúdos e possibilidade de editar os mesmos. Foram levados em consideração os seguintes pontos para o desenvolvimento do projeto: a) Sanar as necessidades dos professores e coordenadores em relação a gerencia de conteúdo. b) Funcionar nos principais navegadores de internet. c) Ser desenvolvido com linguagens de programação livres. d) Ser de fácil entendimento e manuseio.
4 4 RESULTADOS E DISCUSSÃO O desenvolvimento do layout foi a primeira etapa a ser concluída. Preparou-se a estrutura principal, utilizando módulos e alguns detalhes que valorizam o tempo no momento de gerar as informações para o usuário. A seguir, a figura com o modelo do primeiro layout apresentado: Figura 01 - Layout 1 Buscando uma segunda opção com maiores recursos visuais, foi desenvolvido um segundo modelo, mais pesado, porém mais atrativo. A seguir a imagem deste segundo layout apresentado:
5 Figura 02 - Layout 2 O site é formado por componentes e módulos, ligados entre si através do arquivo index.php, além disso há a interface administrativa, separada do site representada pelo index2.php. No que diz respeito ao login de usuários: ao acessar o site pelo seu devido endereço, o usuário tem acesso a todo o conteúdo publicado, sem precisar de registro ou autenticação. Para adicionar ou editar algum conteúdo, um professor ou coordenador precisa autenticar-se, informando seu nome de usuário e senha no formulário de login a esquerda do site. Ao fazer a autenticação ele é redirecionado para a pagina inicial do site, porém com uma diferença: agora ele tem acesso ao Menu dos Usuários, que o permite submeter notícias e também editar os artigos por ele escritos e ainda pode ir para a inteface administrativa clicando no link
6 Administração desse mesmo menu. O formulário de autenticação e o menu de usuários podem ser vistos respectivamente nas Figuras 03 e 04 que seguem: Figura 03 - Formulário de login Figura 04 - Menu de Usuários Pela interface administrativa, é possível manter total controle sobre o que há no site, desde componentes e módulos até mesmo o conteúdo publicado. É possível editar tudo o que se queira desde que se tenham as devidas permissões para isso. A Figura 05 mostra a interface administrativa do Joomla: Figura 05 - Interface Administrativa
7 Quanto a tipos de usuários: temos os Autores, que podem submeter notícias, os Editores, que podem editar e corrigir as notícias enviadas pelos autores, os Publicadores que podem publicar os conteúdos enviados e revisados no site, os Gerentes que podem ter um controle mais amplo sobre o site, os Administradores que podem gerenciar outros usuários e os Super Administradores que tem acesso a todos os recursos possíveis. Na Figura 06 podemos observar a organização hierárquica desses usuários dentro do Joomla, dentro do formulário de registro de um novo usuário. Na Figura 07 podemos ver a lista de conteúdos e suas permissões, se estão ou não publicados, na interface administrativa. A Figura 08 mostra o formulário de envio de conteúdo pela frontpage. Figura 06 - Registro de Usuários na Interface Administrativa
8 Figura 07: Lista de Conteúdos (Interface Administrativa) Figura 08 - Formulário de Envio de Conteúdo Quanto aos módulos e seu funcionamento: o módulo de enquete, como o próprio nome já diz, exibe uma enquete no site e através dos votos recebidos exibe um resultado em gráficos. O módulo header image exibe de forma randomizada
9 fotos do colégio em um espaço centralizado que serve como uma tela de boas vindas aos visitantes. O módulo GMaps permite que através de coordenadas você possa dar a localização desejada aos usuários sobre um determinado lugar, facilitando, por exemplo, a encontrar o local de um evento. Esse módulo conecta-se diretamente a base de dados do Google onde obtém acesso a todos os mapas e informações de ruas, cidades, estados e países. Os módulos de Menu permitem que você possa organizar seus conteúdos de forma hierárquica mantendo um controle sobre eles e uma boa acessibilidade aos mesmos. 5 CONCLUSÃO Com o desenvolvimento do presente trabalho obteve-se resultados satisfatórios, conforme o protótipo apresentado. Mas, apesar de todas as vantagens, as ferramentas CMS possuem seu lado negativo, pois como em todo framework, trabalhar com um modelo pré-concebido, implica em aceitar algumas características, restrições ou limitações desse modelo. Por exemplo, o CMS Joomla foi escrito na linguagem PHP utilizando o SGBD (Sistema Gerenciador de Banco de Dados) MySQL, isto pode ser um problema para alguns usuários devido a incompatibilidade do MySQL com outros SGBD s. A aparência do site proposto neste trabalho, apesar da relativa facilidade da customização, também fica de certa forma limitada pelo sistema de modelos pré-formatados (templates) do Joomla. O mesmo pode ser dito com relação a fatores como usabilidade e acessibilidade. Porém, os ganhos são tão grandes que tornam essas limitações preocupações secundárias na grande maioria dos casos. Com a elaboração do primeiro layout, foi possível obter um ganho notável no que diz respeito à facilidade de acesso as informações disponibilizadas do site e à independência dos usuários para com os desenvolvedores. Recursos como a edição de artigos publicados pelos seus autores, permitem que pequenos erros sejam corrigidos sem a necessidade de um suporte técnico, ou seja, sem depender de outras pessoas para isso. O calendário apesar de parecer algo simples, permite manter um controle sobre tudo o que acontece e o que está para acontecer na instituição. As limitações do primeiro layout estão mais relacionadas com a sua estética do que a suas funcionalidades em si.
10 O segundo layout foi apresentado como uma segunda opção, com maiores recursos estéticos, porém mais carregado de informações, ele conta um menu dinâmico no topo, que permite usar sub-menus em cascata afim de facilitar a navegação dos usuários e definindo toda a estrutura de forma hierárquica. Esse layout foi feito sem utilizar cores escuras, o que lhe dá um aspecto mais suave em relação ao primeiro modelo. Para trabalhos futuros sugere-se a continuidade das atividades descritas neste artigo, proporcionando um site dinâmico e que atenda as necessidades da comunidade da escola. REFERÊNCIAS MSQLAB, Principais características do Mysql. Disponível em: http://www.mysql.com Acessado em 26/06/07. PEREIRA, Marcelo Gino. HTML Guia Pratico. São Paulo: Viena, 2003. Joomla. Disponível em: http://www.joomla.org. Acessado em 26/06/07. Mambo Server. Disponível em: http://www.mamboserver.com/ Acessado em: 26/06/2007. Drupal. Disponível em: http://drupal.org/ Acessado em: 26/06/2007. Miolo. Disponível em: http://www.miolo.org.br/ Acessado em: 26/06/2007. SOARES, Walace. PHP 5: Conceitos, programação e integração com banco de dados. São Paulo: Érica, 2004. HEUSER, Carlos Alberto. Projeto de Banco de Dados. 5 ed. Porto Alegre: Instituto de Informática do UFRGS: Editora Sagra Luzzatto, 2004. ALVES, Willian Pereira. Fundamentos de Banco de Dados. São Paulo: Érica, 2004. PRESSMAN, Roger S. Engenharia de Software. São Paulo: Makron Books, 1995.