UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO
DEPARTAMENTO DE ENGENHARIASAssociações na Internet
Aplicação Web
PROJETO DE MESTRADO EM COMUNICAÇÃO E MULTIMÉDIADIOGO JOSÉ MACHADO SEIXAS
Orientador: Professor Joaquim João Moreira de Sousa Co-orientador: Professor Emanuel Soares Peres Correia
UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO
DEPARTAMENTO DE ENGENHARIASAssociações na Internet
Aplicação Web
PROJETO DE MESTRADO EM COMUNICAÇÃO E MULTIMÉDIADIOGO JOSÉ MACHADO SEIXAS
Orientador: Professor Joaquim João Moreira de Sousa Co-orientador: Professor Emanuel Soares Peres Correia
Composição do Júri: ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ Vila Real, 2016
I
Agradecimentos
O meu sincero agradecimento vai para todos aqueles que, de uma forma ou de outra, contribuíram para a realização desta etapa da minha vida.
Agradeço em especial à minha mãe pela sua persistência e por sempre ter acreditado em mim. Quero deixar um obrigado ao meu pai pelo suporte e por todo o apoio ao longo desta caminhada. Estou grato à minha avó, ao meu avô e à minha tia Berta por terem sido até agora um complemento importante na minha educação. Não posso deixar de referir o caminho que tenho feito ao lado da minha irmã, por quem tenho muito carinho e a quem quero agradecer em especial pela ajuda que me deu. O meu agradecimento vai também para a minha namorada, pelo fundamental apoio e compreensão.
Agradeço a todas as pessoas que ao longo do meu percurso académico contribuiram para que a minha habilidade técnica e profissional evoluísse. Às amizades que fiz e que prevalecem e aos conselhos dos mais sábios. Aos meus professores orientadores, Professor Joaquim Sousa e Professor Emanuel Peres pela constante disponibilidade e incentivo que me deram ao longo de todo o projeto . A todos os colegas e professores de licenciatura e mestrado, com quem tive a oportunidade de passar ao longo deste percurso.
III
Resumo
Com base na minha experiência profissional e no contacto com associações, foram identificadas algumas necessidades, por parte das mesmas, quando estas pretendem marcar a sua presença na web e que dizem respeito à gestão de notícias, eventos, álbuns de fotografias, artigos de blog, anúncios de emprego, documentos, campanhas de publicidade, parceiros, finanças e utilizadores.
Desta forma e com o intuito de responder a estas necessidades, foi desenvolvida uma plataforma a partir da qual as associações, nomeadamente aquelas sem grandes possibilidades financeiras, poderão marcar uma presença consistente na web, bem como usufruir de um espaço on-line que permite o registo, gestão de utilizadores, personalização do sítio web, realização de pagamentos, entre outras funcionalidades.
Para o seu desenvolvimento recorreu-se à linguagem de programação PHP e o gestor de base de dados MySQL. A plataforma foi também desenvolvida com recurso a várias ferramentas de desenvolvimento web disponibilizadas pelo Facebook, Google Maps e PayPal. A estrutura da plataforma foi desenhada a partir de uma base inicial, que compreende as funcionalidades básicas da plataforma, e que tem como função suportar as secções do sítio de forma independente, a fim de tornar o seu desenvolvimento mais prático, bem como para uma melhor organização e uma melhor performance do sítio.
A plataforma desenvolvida veio colmatar grande parte das necessidades das associações, na medida em que permite uma instalação simples e rápida; sustenta um conjunto de ferramentas que permite às associações tirar um melhor proveito da sua presença na web; simplifica as tarefas dentro da plataforma, tendo em conta utilizadores com pouca experiência em informática e fornece a possibilidade de controlo sobre todas as páginas do sítio.
V
Abstract
Based on my professional experience and contact with associations, some needs have been identified when these associations wish to mark their web presence, which concern news management, events, photo albums, blog articles, job advertisements, documents, advertising campaigns, partners, finance and users.
In this way and in order to meet these needs, a platform was developed from which associations, including those without large financial resources, can benefit, allowing them to have a consistent web presence and take advantage of an online space that allows the registration, user management, personalization of the website, making payments, and other features.
For its development a theme for the frontend was used and another one for the backend, and its main side was the PHP programming language and MySQL database manager. The platform was also developed using a variety of web development tools provided by Facebook, Google Maps and PayPal. The platform architecture was designed from an initial base, which comprises the basic platform features, and whose function is to support the sections of the site in an independent manner, in order to make its development more practical, as well as allowing better organization and better performance of the site.
The developed platform mostly meets the needs of organizations, in that it enables a simple and quick installation; maintains a set of tools that enables organizations to take better advantage of their web presence; simplifies tasks within the platform, taking into account users with little computer experience and provides the opportunity to control all pages of the site.
VII Índice Agradecimentos ... I Resumo ... III Abstract ... V Índice de figuras ... XI Índice de tabelas ... XIII
1. Introdução ... 3
1.1. Motivação ... 4
1.2. Objetivos ... 4
1.3. Contribuição ... 5
1.4. Estrutura... 5
2. Revisão do estado da arte ... 9
2.1. Definição de associação ... 9
2.2. Exemplo de associações com representação na web ... 10
2.2.1. Associação Portuguesa de Pais e Amigos do Cidadão Deficiente Mental de Sabrosa ... 10
2.2.2. Associação Portuguesa de Reiki ... 10
2.2.3. Associação Portuguesa de Hipnose Clínica e Hipnoanálise ... 11
2.3. Necessidades identificadas das associações na web ... 12
2.4. Sistema de Gestão de Conteúdos ... 14
2.5. Os três CMS mais populares ... 15 2.5.1. WordPress ... 15 2.5.2. Drupal ... 18 2.5.3. Joomla ... 20 2.6. Comparação dos três CMS ... 22 3. A plataforma desenvolvida ... 27 3.1. Implementação da plataforma ... 29 3.2. Apresentação da plataforma ... 32 3.2.1. Backend ... 32 3.2.1.1. Instalação ... 32 3.2.1.2. Entrar ... 34 3.2.1.3. Registar ... 35
VIII 3.2.1.4. Esqueceu a palavra-passe ... 36 3.2.1.5. Perfil ... 36 3.2.1.6. Notificações ... 37 3.2.1.7. Finanças ... 37 3.2.1.8. Dashboard ... 38 3.2.1.9. Slides ... 39 3.2.1.10. Notícias ... 40 3.2.1.11. Eventos ... 41 3.2.1.12. Álbuns ... 42 3.2.1.13. Blog ... 44 3.2.1.14. Emprego ... 46 3.2.1.15. Documentos ... 47 3.2.1.16. Publicidade ... 49 3.2.1.17. Parceiros ... 50 3.2.1.18. Finanças da plataforma ... 52 3.2.1.19. Utilizadores ... 54 3.2.1.20. Definições da plataforma ... 57 3.2.1.21. Ajuda ... 59 3.2.1.22. Definições ... 60 3.2.2. Frontend ... 61 3.2.3. Início ... 61 3.2.4. Notícias ... 63 3.2.5. Notícia ... 64 3.2.6. Eventos ... 65 3.2.7. Evento ... 66 3.2.8. Álbuns ... 67 3.2.9. Álbum de fotografias ... 68 3.2.10. Blog ... 69 3.2.11. Artigo de blog ... 70 3.2.12. Emprego... 71 3.2.13. Oferta de emprego ... 72 3.2.14. Documentos ... 73
IX
3.2.15. Documento... 74
3.2.16. Quem somos ... 76
3.2.17. Contacto ... 77
4. Conclusões e trabalho futuro ... 81
Referências ... 85
XI
Índice de figuras
Figura 2.1 – Página de administração do WordPress ... 16
Figura 2.2 – Página de administração do Drupal ... 18
Figura 2.3 – Página de administração do Joomla ... 21
Figura 3.1 – Estrutura da raiz do sítio ... 30
Figura 3.2 – Estrutura do backend ... 31
Figura 3.3 – Estrutura da página das notícias do backend ... 31
Figura 3.4 – Estrutura do frontend ... 32
Figura 3.5 – Estrutura da página das notícias do frontend ... 32
Figura 3.6 – Instalação da plataforma (passo 1) ... 33
Figura 3.7 – Página “Entrar” ... 34
Figura 3.8 – Janela de comunicação com o Facebook para a autorização da informação ... 34
Figura 3.9 – Página de registo de utilizador ... 35
Figura 3.10 – Página para proceder à recuperação de palavra-passe ... 36
Figura 3.11 – Página de perfil ... 37
Figura 3.12 – Página de notificações ... 37
Figura 3.13 – Página de finanças ... 38
Figura 3.14 – Página de dashboard ... 38
Figura 3.15 – Janela das permissões na página de dashboard ... 38
Figura 3.16 – Página de gestão de slides ... 39
Figura 3.17 – Página de gestão de notícias ... 40
Figura 3.18 – Página de gestão de eventos ... 41
Figura 3.19 – Página de gestão de álbuns ... 43
Figura 3.20 – Página de gestão de fotografias ... 44
Figura 3.21 – Página de gestão de blog ... 45
Figura 3.22 – Página de gestão de emprego ... 46
Figura 3.23 – Página de gestão de documentos ... 47
Figura 3.24 – Página de gestão de categorias de documentos ... 48
Figura 3.25 – Página de gestão de publicidade ... 49
Figura 3.26 – Página de gestão de parceiros ... 51
XII
Figura 3.28 – Página de gestão de categorias de finanças da plataforma ... 53
Figura 3.29 – Página de gestão de utilizadores ... 54
Figura 3.30 – Janela de notificação na página de gestão de utilizadores ... 54
Figura 3.31 – Janela de grupo na página de gestão de utilizadores ... 55
Figura 3.32 – Janela de permissões na página de gestão de utilizadores ... 55
Figura 3.33 – Página de grupos de utilizadores ... 56
Figura 3.34 – Janela de notificação na página de grupos de utilizadores ... 56
Figura 3.35 – Separador “Definições gerais” das definições da plataforma ... 57
Figura 3.36 – Separador “Quem somos” das definições da plataforma ... 58
Figura 3.37 – Separador “Contacto” das definições da plataforma ... 58
Figura 3.38 – Separador “Redes sociais” das definições da plataforma ... 58
Figura 3.39 – Separador “API” das definições da plataforma ... 59
Figura 3.40 – Página de ajuda para a configuração das API ... 59
Figura 3.41 – Página de definições de utilizador ... 60
Figura 3.42 – Página de início do sítio ... 61
Figura 3.43 – Página de notícias do sítio ... 63
Figura 3.44 – Página de eventos do sítio ... 65
Figura 3.45 – Página de álbuns do sítio ... 67
Figura 3.46 – Página de blog do sítio ... 69
Figura 3.47 – Página de emprego do sítio ... 71
Figura 3.48 – Página de documentos do sítio ... 73
Figura 3.49 – Página de quem somos no sítio ... 76
XIII
Índice de tabelas
Capítulo 1
3
1. Introdução
Este projeto surge como forma de dar resposta a um conjunto de necessidades analisadas com base na minha experiência pessoal e no contacto com associações que pretendem marcar a sua presençã na web. Foi então desenvolvida uma plataforma que premite ás associações fazer a gestão de notícias, eventos, álbuns de fotografias, artigos de blog, anúncios de emprego, documentos, campanhas de publicidade, parceiros, finanças e utilizadores.
Desta forma associações poderão marcar uma presença consistente na web, bem como usufruir de um espaço on-line que permite o registo, gestão de utilizadores, personalização do sítio web, realização de pagamentos, entre outras funcionalidades.
Esta plataforma trata-se de um software web direcionado às associações, podendo ser definida como um Sistema de Gestão de Conteúdos (CMS), bem como uma ferramenta de marketing digital, sendo acima de tudo, uma plataforma que surge como resposta a uma série de necessidades identificadas e que pode ser utilizada por parte de associações que pretendem marcar a sua presença no mundo digital.
Num mundo cada vez mais competitivo e onde a tecnologia evolui a um ritmo alucinante, esta plataforma oferece a vantagem de ter um sítio na Internet. A criação de páginas, personalização de cores e modificação de elementos são operações que podem ser controladas, permitindo a criação de diferentes sítios web para associações que utilizem a mesma plataforma. Outra vantagem da utilização desta plataforma é a opção de se efetuar publicações na plataforma, ao invés de publicar diretamente nas redes sociais, servindo como um meio para posteriormente as partilhas se propagarem e assim aumentar o seu raio de ação, tendo como consequência atrair mais visitantes. O aumento do número de visitantes aumenta por sua vez a rentabilização da plataforma, que poderá ser efetuada através de espaços de publicidade e destaques para parceiros. Para além disto, a rentabilização pode ser ainda conseguida através do pagamento de quotas ou até mesmo doações.
O sucesso da associação depende assim da forma como a entidade responsável utiliza as ferramentas que lhe são proporcionadas. Caso seja feita uma boa gestão de todos os recursos e opções fornecidos através da utilização desta vertente, a associação pode facilmente recuperar o investimento na aquisição da plataforma.
4
1.1. Motivação
A realização deste projeto visa, por um lado, a obtenção do grau de mestre em Comunicação e Multimédia, servindo como um meio para colocar em prática os conhecimentos adquiridos ao longo deste ciclo, bem como criar uma melhor preparação para ingressar no mercado de trabalho.
Por outro lado, com base na minha experiência profissional e no contacto com associações, foram identificadas algumas necessidades, por parte das mesmas, quando estas pretendem marcar a sua presença na web. A falta quer de uma presença consistente das associações na
web, quer de uma resposta eficiente para as suas necessidades, inspirou a realização deste
projeto.
Apesar de já existirem no mercado, soluções que poderiam ser adaptadas para este fim, sendo as mais representativas abordadas neste relatório, pretendeu-se, por um lado, desenvolver uma aplicação mais específica e focada neste mercado e, por outro lado, adquirir as competências que me facilitarão a integração no mercado de trabalho.
1.2. Objetivos
Os objetivos do projeto passaram por desenvolver uma plataforma web que permita responder às necessidades das associações. Os objetivos principais encontram-se então definidos na seguinte lista:
Criar uma plataforma que sirva as principais necessidades das associações que pretendam ter uma presença consistente na Internet;
Projetar um sistema de instalação simples e de rápida implementação no respetivo servidor para que a cópia seja efetuada de forma rápida;
Implementar na plataforma um conjunto de ferramentas que corresponda às necessidades das associações;
Desenhar um interface que seja de fácil utilização para simplificar as tarefas dentro da plataforma, tendo em conta utilizadores com pouca experiência em utilizar a informática;
5
1.3. Contribuição
Foi desenhada uma plataforma adaptada às necessidades das associações que pretendem tirar o maior partido da sua presença na web. Com este trabalho as associações ficam habilitadas a ter um sítio web com:
Notícias; Eventos; Álbuns de fotografias; Artigos de blog; Ofertas de emprego; Documentos; Campanhas de publicidade; Parceiros.
As associações vão poder também registar utilizadores, atribuir permissões, enviar pedidos de pagamento e comunicar com os utilizadores.
1.4. Estrutura
Este documento encontra-se dividida em 4 capítulos: introdução, revisão do estado da arte, apresentação da plataforma desenvolvida e conclusões e trabalho futuro.
No segundo capítulo é abordada a carência que as associações têm na representação na web, é introduzido o conceito de CMS, são focados e comparados os aspetos mais importantes dos três CMS mais populares e por fim é feita uma reflexão sobre os CMS e o porquê de não satisfazerem as necessidades das associações na web.
No terceiro capítulo é feita uma explicação da plataforma, em que consiste, a pertinência da sua implementação e é feita uma descrição da plataforma. É também apresentada a aplicação através de uma sequência lógica apresentando algumas capturas de ecrã.
Capítulo 2
9
2. Revisão do estado da arte
Neste capítulo é definido o conceito de associação, são identificadas três associações portuguesas e é feita uma resumida análise às respetivas representações na web de cada uma. São também identificadas as principais necessidades das associações no que diz respeito à sua presença na Internet. Mais ainda, é apresentado o conceito de CMS e são analisados os três mais populares (WordPress, Drupal e Joomla). Por último, é feita uma comparação entre os três CMS.
2.1. Definição de associação
Depois de uma consulta, chegou-se à conclusão que a maioria dos autores que trabalham nesta área são consensuais na definição de "associação”. Assim, o termo “associação” pode ser descrito como um conjunto de iniciativas formais ou informais, formadas por pessoas ou por outras sociedades jurídicas, que se associaram em volta de um objetivo comum, com vista a superar as dificuldades e a gerar benefícios para todos os associados [1].
Segundo o artigo 46.º da Constituição da República Portuguesa, “1. Os cidadãos têm o direito de, livremente e sem dependência de qualquer autorização, constituir associações, desde que estas não se destinem a promover a violência e os respectivos fins não sejam contrários à lei penal. 2. As associações prosseguem livremente os seus fins sem interferência das autoridades públicas e não podem ser dissolvidas pelo Estado ou suspensas as suas actividades senão nos casos previstos na lei e mediante decisão judicial. 3. Ninguém pode ser obrigado a fazer parte de uma associação nem coagido por qualquer meio a permanecer nela. 4. Não são consentidas associações armadas nem de tipo militar, militarizadas ou paramilitares, nem organizações racistas ou que perfilhem a ideologia fascista.” Ao longo da constituição são referidas algumas associações entre elas:
Associações de consumidores (art. 60º nº 3).
Associações representativas de beneficiários da segurança social (art. 63º nº 3). Associações representativas das famílias (art. 67º nº 2 al. g) ).
Organizações de cidadãos portadores de deficiência (art. 71º nº 3). Associações de defesa do património cultural (art. 73º nº 3).
10 Associações de professores, alunos pais, comunidades e instituições de carácter
científico (art. 77º nº 2).
Associações e colectividades desportivas (art. 79º nº 2). Organizações de moradores (art. 263º nº 2).
2.2. Exemplo de associações com representação na web
A título de exemplo, e para demonstrar o potencial da solução desenvolvida, foram selecionadas três associações. A associação "Associação Portuguesa de Pais e Amigos do Cidadão Deficiente Mental de Sabrosa" foi escolhida por representar uma associação regional e a "Associação Portuguesa de Reiki" juntamente com a "Associação Portuguesa de Hipnose Clínica e Hipnoanálise" por representarem associações nacionais.
2.2.1. Associação Portuguesa de Pais e Amigos do Cidadão Deficiente Mental de Sabrosa
A Associação Portuguesa de Pais e Amigos do Cidadão Deficiente Mental de Sabrosa tem como missão: “Prestar apoio especializado sustentado numa procura permanente de inovação e parceria privilegiando a relação, a individualidade e a continuidade de serviços nos domínios da educação, formação, ocupação, acolhimento, saúde e inserção social” [2]. Tem representação na web e o sítio desta associação (http://www.appacdm-sabrosa.org.pt/) é desenvolvido em Wordpress. O sítio web é constituído por páginas sobre a associação, as respostas que esta tem para a sociedade. Apresenta também uma página com um formulário para ser sócio e outra página com um formulário para ser voluntário. No entanto, a aprovação não é dinâmica sendo que o contacto é feito por e-mail ou por telefone. Possui ainda outras páginas relativas a projetos, biblioteca e contactos.
2.2.2. Associação Portuguesa de Reiki
A Associação Portuguesa de Reiki tem como missão: “Unificar as várias escolas, mestres e terapeutas de Reiki de Portugal, com o intuito de criar um código de ética para a auto-regulamentação; divulgar a terapêutica e filosofia Reiki; esclarecer dúvidas e partilhar o conhecimento acerca deste Bem Supremo; avançar com propostas para o reconhecimento do Reiki como terapêutica não convencional; sensibilizar para a importância dos cuidados paliativos e contribuir para a prestação dos mesmos em parceria com entidades que reconheçam o Reiki como terapêutica” [3]. Esta associação tem representação na web com o sítio
11 (http://www.associacaoportuguesadereiki.com/) desenvolvido em Joomla. O sítio web tem uma página para fazer a inscrição, no entanto esta não é dinamica, uma vez que o pagamento tem de ser efetuado por transferência bancária e enviado o comprovativo. Apresenta páginas informativas da associação, blog, projetos, núcleos regionais, código de ética, escolas e contacto.
2.2.3. Associação Portuguesa de Hipnose Clínica e Hipnoanálise
A Associação Portuguesa de Hipnose Clínica e Hipnoanálise tem como missão: “Apresentar uma proposta metodológica sobre a hipnose clínica e de regressão baseada no Método Científico, reconhecida e aplicada pelos seus associados, para o estudo da relação entre a natureza da hipnose e os fenómenos envolvidos no tratamento hipnótico; envidar esforços no sentido de dar novas formações acreditadas por instituições e critérios reconhecidos na saúde de forma a convidar a “reciclar” terapeutas que já atuam na área da hipnoterapia; investigar, divulgar e aconselhar o efeito de novas investigações e actividades sobre a hipnose e seus efeitos práticos em contexto clínico; estabelecer acordos e protocolos com parceiros na área da medicina holopática e complementar como contributo a uma saúde mais ampla e integrativa de modo a gerar mais-valias recíprocas; promover ações de solidariedade social de forma a ajudar as pessoas que por carencias financeiras se vejam impossibilitadas de ver garantidas o seu direito de Ser Feliz e encontrar o seu bem estar psicológico natural” [4]. Esta associação tem representação na web com sítio (http://www.aphch.com.pt/) desenvolvido em Joomla. O sítio
web é constituído por páginas relacionadas com a apresentação e terapeutas. Não sendo possível
ter uma interação dinâmica com o sítio web, a inscrição tem de ser efetuada com o preenchimento de um documento em Excel e enviado por e-mail. Apresenta ainda outras páginas relativas às jornadas, hipoanálise, hipnose e contactos.
Algumas associações não têm representação na web, enquanto que outras utilizam sítios estáticos desenvolvidos há alguns anos, encontrando-se desatualizados. Na maior parte dos casos, os responsáveis da associação não têm acesso e/ou conhecimento para proceder à atualização do sítio. Por outro lado, existem também associações que utilizam as redes sociais, que são neste momento uma nova realidade, e deste modo revelam-se o local apetecível para as associações que procuram um sítio na web. No entanto, a utilização das redes sociais e das funcionalidades que estas oferecem está longe de responder às necessidades reais de uma
12 associação. Alguns aspectos que descredibilizam a utilização das redes sociais por parte das associações, que procuram um espaço on-line, são:
Nem todas as pessoas que pertencem a associações utilizam as redes sociais;
As redes não geram conteúdo Search Engine Optimization (SEO) para os motores de busca;
As redes sociais não permitem vender produtos e/ou serviços sem recurso a plataformas de terceiros;
As redes sociais não são tão informativas como um sítio web;
A associação não tem controlo direto na publicidade que é apresentada na sua página das redes sociais.
2.3. Necessidades identificadas das associações na web
Quando se refere à representação das associações na web, e tendo em conta a minha experiência pessoal no contacto com as mesmas, foram identificadas as seguintes necessidades:
Notícias – um espaço de notícias tem uma relevância fundamental como em qualquer outro tipo de sítio web. A secção de notícias é a que mais se adapta sempre que as associações quiserem comunicar novidades ou até mesmo reportar alterações ou aspetos relacionados com o sítio;
Eventos – as associações têm a necessidade de um espaço para eventos onde possam anunciar as atividades que tantas vezes realizam, podendo especificar alguns detalhes como a data, hora, localização, etc.;
Álbuns de fotografias – uma vez que realizam vários eventos e atividades, as associações têm a necessidade de partilhar as fotografias para eternizar os momentos. Artigos do blog – associações que utilizam blogs como alternativa a sítios web criaram
já uma intimidade com esta secção e têm a necessidade de continuar a criar artigos. Anúncios – muitas vezes as associações funcionam como uma plataforma que congrega
vários anúncios/informações úteis, por exemplo, ofertas de emprego, de empresas da região.
Documentos – a maior parte das associações tem a obrigatoriedade de publicar, oficialmente, documentos como atas, avisos, editais, relatórios de contas, etc. Assim,
13 existe a necessidade da criação de um espaço para anexar documentos, isto é, um repositório;
Campanhas de publicidade – as associações precisam de ter o controlo da publicidade que aparece nos seus próprios sítios web, de forma a poderem vender esses espaços e aumentar os lucros.
Parceiros – as associações têm muitas vezes, por uma questão legal, que afixar logótipos de entidades governamentais no sítio web. Também poderão adicionar logótipos de outras entidades patrocinadoras ou ligadas à associação.
Finanças – as associações necessitam de um espaço dedicado ao envio de pagamentos a fim de receber dinheiro relativo a: quotas, donativos, serviços, campanhas de publicidade, etc.
Utilizadores – é necessário o registo de utilizadores para que possa haver comunicação; atribuição de permissões, no caso de pessoas que possam colaborar na gestão do sítio; o envio de notificações sempre que haja alguma novidade, etc.
Definições – as associações precisam de estar habilitadas a poder controlar o aspeto visual do sítio web, como questões relacionadas com os contactos e redes sociais. Desenvolver uma solução web para responder às necessidades das associações poderia demorar muito tempo e tornar-se económicamente insuportável para cada associação, de forma individual. Assim, um Sistema de Gestão de Conteúdos (CMS) seria a opção mais indicada para fornecer a representação na web, pelos seguintes motivos [5]:
Fácil utilização – Criar um sítio web requer linguagem técnica. No entanto, um CMS permite publicar conteúdo sem esta preocupação técnica;
Baixo custo – WordPress, Drupal e Joomla são gratuitos e é com muita facilidade que pode ser encontrada ajuda e assistência;
Aparência consistente – Os CMS têm uma grande oferta de templates, o que permite personalizar o sítio web vezes sem conta e sem ser necessário requerer um designer; Colaboração – A colaboração entre vários utilizadores é uma mais-valia, na medida em
que cada secção do sítio web pode ser controlada por utilizadores específicos;
Ligações instáveis – uma vez que o CMS faz a também a gestão de ligações, há menos probabilidade de ligações não encontradas.
14
2.4. Sistema de Gestão de Conteúdos
Um CMS pode ter vários significados de acordo com a àrea à qual se refere. No paradigma do desenvolvimento web, CMS define-se como uma aplicação que mantém o controlo de cada conteúdo do sítio web [6].
Geralmente os CMS cumprem tarefas comuns de conteúdo: recursos para criar, editar e publicar conteúdo [7]. Uma grande vantagem do uso de um CMS é que não é necessária qualquer habilidade técnica ou conhecimento de gestão [6]. A principal caraterística de um CMS é o seu interface que se quer intuitivo e acessível para quem não tem qualquer conhecimento a nível de programação, mas que tem a intenção de fazer a gestão de um sítio web num ambiente de fácil utilização. Por norma um CMS faz parte do próprio sítio web e está na parte de trás do mesmo (backend). Essa caraterística faz com que seja possível gerir o conteúdo do sítio web remotamente em qualquer computador desde que ligado à Internet [8].
As funcionalidades de um CMS podem ser divididas nas seguintes categorias [9]:
Criação de conteúdo: Um CMS apresenta um sistema de ambiente de fácil utilização desenhado com semelhança a um editor de texto. As páginas podem ser criadas de uma forma não técnica sem serem necessários conhecimentos em HTML. Ao fornecer um sistema de gestão simples é possível fazer a atualização do sítio web, bem como distribuir permissões por vários utilizadores de forma a que as várias secções do sítio
web sejam geridas por entidades diferentes;
Gestão de Conteúdo; Publicação;
Apresentação.
O conteúdo do sítio web é armazenado com detalhes de apoio num repositório central no CMS, permitindo [9]:
Manter o controlo de quem cria ou edita e a data das respetivas ações; Garante que o utilizador só pode atuar na secção que lhe foi atribuida; Integração com fontes de informação.
15 Uma vez que o conteúdo está no repositório, a publicação pode ser feita, e a aparência trabalhada à parte, já que o conteúdo está separado do grafismo. Essa característica faz com que seja possível publicar o conteúdo em vários sítios web. Isto permite que os utilizadores estejam concentrados no conteúdo, deixando a parte do visual para o CMS [9].
O CMS constrói de forma automática a construção de ligações, lendo a estrutura do repositório e tornando o sítio web dinâmico [9].
Existem vários CMS, entre os quais se encontram os mais conhecidos, tais como o WordPress, Drupal e Joomla que se ajustam às necessidades específicas de cada projeto [10].
2.5. Os três CMS mais populares
Os três CMS mais populares, WordPress, Drupal e Joomla, são open-source e escritos em PHP. Todos suportam MySQL, no entanto, o Drupal e o Joomla aceitam outros sistemas de gestão de base de dados. Os três permitem temas, plugins, módulos ou extensões [11].
2.5.1. WordPress
O WordPress começou como uma plataforma de blogs, no entanto, tem vindo a crescer ao longo do tempo, sendo atualmente o CMS mais popular e mais completo que existe [12].
É possível fazer o download do WordPress e instalar no servidor, mas também é possível começar a criação de um sítio web na página do WordPress, assim como a escolha de um plano (que varia entre um plano gratuito e dois planos pagos) e de um domínio (que varia entre um domínio gratuito ou um domínio pago).
16
Figura 2.1 – Página de administração do WordPress
A administração (Figura 2.1) apresenta um menu do lado esquerdo e o conteúdo respetivo a esse menu do lado direito. O menu é constituído por “Estatísticas” e “Plano” que representam respetivamente uma página com as estatísticas gerais relativas ao sítio, com possibilidade de visualização por dia, mês e ano, e ainda uma página na qual se encontram os planos disponíveis e o plano atualmente ativo, assim como os domínios e aplicações Google.
No seguimento do menu estão as ligações: “Posts do blog” e “Páginas” - agrupadas numa categoria chamada “Publicação”. Na página “Posts do blog” estão os artigos publicados, com os botões de edição, visualização, estatísticas e eliminar. No menu, ao lado da ligação ”Posts do blog”, também está presente o botão “Adicionar”, que permite criar um novo artigo com os campos “Título” e “Descrição”. Apresenta também opções disponíveis como “Tags e categorias” que permite adicionar o artigo a uma categoria ou atribuir tags; “Imagem” que permite adicionar uma imagem; “Partilha” que permite establecer a conexão a redes sociais para a partilha automatica e escolher se aparecem ou não os botões de partilha no artigo; “Formato” que permite atribuir um formato ao artigo que pode variar entre audio até vídeo, etc. e “Outras opções” que estão relacionadas com a possibilidade de adicionar uma localização e permitir comentários. O artigo pode ser pré-visualizado, guardado ou publicado, podendo ser ainda escolhida uma data de publicação. Na página “Páginas” estão as páginas criadas, com os botões de “ver”, “editar”, e “eliminar”. É também possível navegar nos separadores pelos rascunhos, páginas com programação no calendário e lixo. No menu, ao lado da ligação
17 ”Páginas”, também está presente o botão “Adicionar”, que permite criar uma nova página com os campos “Título” e “Descrição”. Tem opções disponíveis como “Imagem” que permite adicionar uma imagem; “Opções de página” que permite escolher a ordem da página no menu do sítio; “Partilha” que permite escolher se aparecem ou não os botões de partilha na página; “Formato” que permite atribuir um formato ao artigo que pode variar entre audio até vídeo, etc. e “Outras opções” que estão relacionadas com a possibilidade de adicionar uma localização e permitir comentários. O artigo pode ser pré-visualizado, guardado ou publicado e ainda pode ser escolhida uma data de publicação.
No menu estão também as ligações: “Temas” e “Menus” - agrupadas numa categoria chamada “Personalizar”. Na página “Temas” está uma grande lista de temas com uma pequena miniatura e com a possibilidade de filtrar temas pagos e temas grátis. A pré-visualização pode ser efetuada e a escolha do tema é feita de forma bastante rápida. No menu, ao lado da ligação ”Temas”, está também presente o botão “Costumizar”, que permite alterar alguns elementos que fazem parte do tema. Na página “Menu” é possível gerir os menus presentes no sítio como o menu principal e o menu de redes sociais. Para além disto, é ainda possível editar as páginas criadas e presentes no menu.
As restantes ligações presentes no menu são: “Partilha”, “Pessoas”, “Plugins”, “Domínios”, “Configurações” - agrupadas numa categoria chamada “Configuração”. Na página “Partilha” é possível configurar a ligação às redes sociais para que seja feita a publicação diretamente nas mesmas, sempre que seja publicado um novo artigo. É também possível configurar os botões de partilha que aparecem nos artigos. Na página “Pessoas” encontra-se a lista de pessoas que estão habilitadas a atuar no sítio. No menu, ao lado da ligação ”Pessoas”, também está presente o botão “Adicionar”, que permite convidar utilizadores através do e-mail e atribuir permissões que vão desde administrador até editor, etc. Na página “Plugins” estão representados numa lista os plugins ativos e outros que podem ser comprados. Na página “Domínios” está o domínio em utilização. No menu, ao lado da ligação ”Domínios”, também está presente o botão “Adicionar”, que permite escolher um domínio e fazer a atualização. Na página “Configurações” é possível definir outros aspetos como o nome do sítio, a língua, visibilidade, etc.
18
2.5.2. Drupal
O Drupal é um software de gestão de conteúdo complexo utilizado para fazer sítios web com grandes recursos padrão, como fácil criação de conteúdo, desempenho confiável e excelente segurança [13].
É possível fazer o download do Drupal e instalar no servidor, mas também é possível começar a utilizar uma versão de demonstração na página do Drupal, sendo que para isso é necessário escolher entre três sítios de hospedagem (Pantheon, Acquia e Interserver.net) para alojar essa versão. O sítio de hospedagem “Interserver.pt” é o unico que refere a duração de 14 dias para a versão de demonstração, sendo que a atualização para um plano pago prevê-se necessária.
Figura 2.2 – Página de administração do Drupal
A administração (Figura 2.2) apresenta um menu na parte superior do sítio onde estão os seguintes botões: “Conteúdo”, “Estrutura”, “Aparência”, “Modulos”, “Configuração”, “Pessoas”, “Relatórios” e “Ajuda”.
A página “Conteúdo” apresenta o botão “Adicionar conteúdo” mas também uma lista de artigos e páginas básicas com possibilidade de editar e eliminar. É possível filtar por estado da publicação, tipo de conteúdo, título e idioma, bem como aplicar ações em massa como guardar, publicar, entre outras. No separador “Comentários” estão os comentários ao conteúdo, aprovados e por aprovar com possibilidade de editar e eliminar. Também é possível aplicar
19 ações em massa como publicar ou eliminar comentários. No separador “Ficheiros” estão os ficheiros adicionados ao conteúdo como imagens. É possível filtar por nome, tipo e estado. Ao adicionar conteúdo, é possível escolher entre “artigo” e “página básica”. A página “criar artigo” é constituída por um título e um corpo do artigo. É possível adicionar etiquetas e escolher uma imagem. Do lado esquerdo tem opções de “Configurações de menu” que permite fornecer uma ligação do menu; “Definição dos comentários” que define se os utilizadores podem ou não comentar; “Configuração de URL” que permite escolher um URL alternativo; “Informação de autoria” que permite escolher o autor do artigo e “Opções de publicação” que permite escolher entre “promovido à página principal” e/ou “Destacar no topo das listas”. O artigo pode ser pré-visualizado, guardado ou publicado. A página “criar página básica” é constituída por um título e um corpo da página. Do lado esquerdo encontram-se opções de “Configurações de menu” que permitem fornecer uma ligação do menu; “Configuração de URL” que permite escolher um URL alternativo e “Informação de autoria” que permite escolher o autor da página. A página pode ser pré-visualizada, guardada ou publicada.
Na página “Estrutura” é possível encontrar “Block layout”, “Display modes”, “Formulários de contacto”, “Menus”, “Taxonomia, “Tipos de comentário”, “Tipos de conteúdo” e “Visualizações”.
Na página “Aparência” é possível escolher um tema, bem como instalar um novo. Para além disto, é possível escolher um tema para a administração do CMS e ainda atualizar e alterar as definições utilizando os respetivos separadores que estão nesta página.
Na página “Prolongar” estão os módulos presentes no CMS, havendo a possibilidade de instalar novos. É possível atualizar e desinstalar utilizando os respetivos separadores que estão nesta página.
Na página “Configuração” é possível personalizar um conjunto de áreas como: “Pessoas”, “Autoria de conteúdos”, “Desenvolvimento”, “Pesquisa e metadados”, “Sistema”, “Interface do utilizador”, “Média” e “Região e idioma”.
A página “Pessoas” apresenta o botão “Adicionar utilizador” mas também uma lista de utilizadores com possibilidade de editar. É possível filtar por nome, grupo, permissão e estado assim como aplicar ações em massa como bloquear, remover de administrador, entre outras.
20 No separador “Permissões” encontra-se uma lista de permissões e os grupos de utilizadores que estão habilitados. No separador “Grupo de utilizador” está o botão “Adicionar grupo” que permite adicionar um novo grupo aos já presentes com possibilidade de editar permissões. Na página “Relatórios” é possível encontrar “Atualizações disponíveis”, “Mensagens de registo recentes”, “Atualizações de traduções disponíveis”, “Lista de campos”, “Plugins”, “Relatório de estado”, “Termos de pesquisa de maior ocorrência”, “Top de erros ‘acesso negado’” e “Top de erros de ‘página não encontrada’”.
A página “Ajuda” apresenta uma pequena explicação de como começar a utilizar o Drupal, bem como explicações de aspetos mais específicos do CMS. Também é possível adicionar idiomas.
2.5.3. Joomla
O Joomla é uma solução de código aberto de fácil utilização e extensabilidade que permite uma grande personalização de templates [6].
Para além de ser possível fazer o download do Joomla e instalar no servidor, existe também a possibilidade de começar a utilizar uma versão de demonstração (com a validade de 90 dias) na página do Joomla. Para tal é, no entanto, necessário alojar a demonstração no sítio de hospedagem “SiteGround”. O plano de hospedagem pode ser atualizado para um plano pago e a versão de demonstração será transferida. Essa atualização permitirá escolher um domínio personalizado.
21
Figura 2.3 – Página de administração do Joomla
A administração (Figura 2.3) apresenta um menu do lado esquerdo e o conteúdo respetivo a esse menu do lado direito. O menu é constituído pelas ligações: “Novo artigo”, “Artigos”, “Categorias” e “Média” - agrupadas numa categoria chamada “Conteúdo”. Na página “Nova artigo” é possível criar conteúdo com os campos “Título” e “Conteúdo” e do lado esquerdo tem um conjunto de opções que permite escolher o estado, categoria, destaque, acesso, língua, tags e notas da versão. Tem também alguns separadores com opção de publicação, imagens e links, opções, configurar o ecrã de edição e permissões. No entanto, não é possível pré-visualizar, apenas publicar. Na página “Artigos” está um botão para criar um novo artigo, estão também todos os artigos com possibilidade de multipla seleção e com opções de editar, publicar, deixar de publicar, destacar, deixar de destacar, etc. Na página “Categorias” está um botão para criar uma nova categoria, estão também todas as categorias com possibilidade de multipla seleção e com opções de editar, publicar, deixar de publicar, etc. Na página “Nova categoria” é possível criar uma categoria utilizando os campos “Título”, “Descrição”, entre outros. Na página “Média” está um botão para fazer o upload de ficheiros, estão também todos os ficheiros como imagens, agrupados por pastas com possibilidade de apagar e criar pastas para organizar os ficheiros.
No menu estão também as ligações: “Menu(s)” e “Módulos” - agrupadas numa categoria chamada “Estrutura”. Na página “Menus” está um botão para criar um novo menu, estão também todos os menus com possibilidade de multipla seleção e com opções de editar, eliminar,
22 etc. A cada menu é possível adicionar um módulo. Na página “Novo menu” é possível criar um menu utilizando campos como “Título”, “Descrição”, entre outros. Na página “Módulos” está um botão para criar um novo módulo, estão também todos os menus com possibilidade de multipla seleção e com opções de editar, duplicar, publicar, deixar de publicar, etc. Quando é criado um novo módulo é possível escolher o tipo de módulo numa lista com artigos, rodapés, entre outros.
No menu também está a ligação: “Utilizadores” - agrupada numa categoria chamada “Utilizadores”. Na página “Utilizadores” está um botão para criar um novo utilizador, estão também todos os utilizadores com possibilidade de multipla seleção e com opções de editar, ativar, bloquear, deixar de bloquear, etc. Na página “Novo utilizador” é possível convidar um utilizador preenchendo alguns campos como “Nome”, “E-mail”, entre outros.
No menu encontram-se também as ligações: “Global”, “Temas” e “Língua(s)” - agrupadas numa categoria chamada “Configurações”. Na página “Global” estão os separadores “Sítio”, “Sistema”, “Servidor”, “Permissões” e “Filtros de texto”. No separador “Sítio” estão presentes configurações do sítio, SEO e metadados. No separador “Sistema” estão presentes configurações do sistema, debug, cache e sessão. No separador “Servidor” estão presentes configurações de servidor, base de dados, localização, e-mail e proxy. No separador “Permissões” encontram-se configurações relativas aos níveis de permissões presentes no CMS. No separador “Filtros de texto” estão configuraçãos relativas à filtragem de texto relativo às permissões de cada utilizador. Na página “Temas” estão todos os temas com possibilidade de multipla seleção e com opções de tornar padrão, editar, duplicar e apagar. Na página “Língua(s)” é possível selecionar a língua assim como instalar novas.
No menu encontram-se ainda as ligações: “Instalar extensões”, e “Purgar jSGChace” - agrupadas numa categoria chamada “Extensões”. As restantes ligações presentes no menu são: “Atualizações Joomla” e “Atualizações disponíveis” - agrupadas numa categoria chamada “Manutenção”.
2.6. Comparação dos três CMS
Para melhor se compreender as capacidades de cada CMS, realizou-se umcomparação estando, as principais conclusões, refletidas na Tabela 2.1.
23
Tabela 2.1 – Comparação dos três CMS mais populares [14].
WordPress Drupal Joomla
Data de lançamento 2003 2001 2005 Popularidade > 140 milhões downloads > 15 milhões downloads > 30 milhões downloads
Custo Grátis Grátis Grátis
Principais sítios web Forbes, CNN, Sony Linux, WB Harvard University,
The Hill
Temas grátis 2000 + 1800 + 900 +
Plugins 27000 + 24000 + 7000 +
Tempo de instalação 5 minutos 10 minutos 10 minutos
Frequência de
atualizações 42 dias 51 dias 36 dias
Relativamente ao custo, todos os CMS são gratuitos. O CMS mais recente é o WordPress e o mais antigo é o Drupal, sendo que o mais popular é o WordPress. Este é também o que mais temas e plugins grátis disponibiliza, e o que demora menos tempo para ser configurado e instalado. Entidades como a Forbes, CNN e Sony utilizam o WordPress como solução para o seu sítio web. Harvard University e The Hill utilizam o Joomla, sendo que o Drupal é utilizado por Linux e WB (Tabela 2.1).
Depois da análise realizada em cima, foi possível verificar que, apesar de terem a mesma finalidade, os CMS são completamente diferentes no que diz respeito à sua utilização. A forma como é gerido o conteúdo é particularmente mais fácil quando se utiliza o WordPress na medida em que este tem uma estrutura de interface mais intuitivo do que os restantes. Relativamente à gestão de conteúdo, o funcionamento de cada um é idêntico nas restantes páginas, o que facilita a adaptação do utilizador que pretende explorar de forma mais aprofundada as funcionalidades do CMS. É claramente possível verificar que em termos de complexidade, o Drupal é o que está em primeiro lugar por permitim uma personalização quase total. O utilizador pode configurar uma vasta quantidade de aspetos, que vão até ao nível do tipo de campos que pretende que apareçam sempre que se cria um novo conteúdo. O Joomla, o CMS mais recente, parece, no entanto, ser o mais confuso na sua utilização, uma vez que os conteúdos são apresentados de uma forma pouco intuitiva.
Quando analisados os três CMS, é possível verificar que o conteúdo é criado de uma forma generalista, ou seja, o utilizador precisa de definir os campos que pretende que apareçam na página de criação de conteúdo, não existindo secções pré-desenhadas para os tipos de conteúdo,
24 o que dificulta a ação por parte dos utilizadores. É possível personalizar um conjunto de aspetos que a maioria das pessoas sem conhecimentos em termos técnicos não possui. Alguns desses aspetos fazem sentido existirem para abrangerem um grupo de possíveis conteúdos que à partida podem ser dos mais variados tipos e que acabam por interferir numa interação amigável com o interface. Os três CMS assumem todo o conteúdo como se de um artigo de blog se tratasse, sendo que a sua caraterização depende do tempo que o utilizador dispensa a tentar perceber de que forma pode associar o seu conteúdo a áreas de interesse para quem visita o sítio. Os CMS analisados não permitem fazer o registo de utilizadores, apenas permitem atribuir permissões a pessoas que sejam convidadas por e-mail. Num sítio web dedicado a associações faz todo o sentido que os sócios consigam fazer o seu registo para que possam, da mesma forma que pertencem à associação no mundo real, também pertencer à associação no mundo virtual. O registo não deve ser exclusivo para sócios, mas sim para toda a população em geral que tenha interesse na associação.
Um CMS generalista, como o caso do WordPress, Drupal ou Joomla, não está adaptado as necessidades específicas de uma associação e por isso, a maior parte das funcionalidades do CMS não têm qualquer interesse. Um CMS acaba por utilizar um modelo pré-concebido que não foi construido para associações. Apesar da maior parte dos CMS terem plugins gratuitos, a personalização profissional do sítio web implicaria um custo bastante grande na compra de
Capítulo 3
27
3. A plataforma desenvolvida
A plataforma desenvolvida neste projeto surge como uma alternativa aos CMS existentes no mercado e pretende realizar as funcionalidades que estes não disponibilizam. Como o foco do seu desenvolvimento foi baseado em associações, a sua utilização torna-se mais percetível ao público alvo do que qualquer outro CMS generalista.
A plataforma consiste num conjunto de ferramentas que permitem auxiliar as associações a vários níveis:
Sítio web – ter um sítio disponível na Internet para todos os dispositivos; Registo – registar e categorizar os utilizadores de forma livre;
Marketing – controlar a publicidade e negociar a venda de espaços; Comunicação – notificar os utilizadores a qualquer momento; Pagamento – emitir pedidos de pagamento e obter receitas;
A instalação da plataforma é idêntica à do WordPress (a mais rápida instalação dos três CMS em cima abordados). Assim que os campos estejam preenchidos, o administrador tem acesso imediato à plataforma e os utilizadores passam a estar habilitados a fazer o registo.
O utilizador tem no respetivo backend o seguinte conjunto de opções no menu principal: perfil, notificações, finanças e definições.
Na secção de perfil o utilizador pode escolher a sua imagem assim como alterar alguns dados da conta, na secção de notificações estão presentes as notificações do sistema e as que são enviadas pelo administrador, na secção de finanças (só está ativa se a API do PayPal estiver configurada nas definições da plataforma) é possível proceder ao pagamento dos pedidos recebidos (enviados pelo administrador) e na secção de definições, o utilizador pode definir se quer ser notificado na plataforma e/ou e-mail.
A opção “Plataforma” está disponível nas opções do menu principal e dá acesso a um conjunto de ferramentas de administração como: notícias, eventos, álbuns, blog, emprego, documentos, publicidade e parceiros. Utilizadores que tenham permissão nessas secções, também têm a opção “Plataforma” visível no menu e têm acesso às respetivas secções. No entanto, apenas o
28 administrador tem acesso a algumas secções presentes na página “Plataforma” como:
dashboard, slides, finanças da plataforma, utilizadores, definições da plataforma e ajuda.
O administrador pode, através do dashboard, tornar visível/invisível no frontend as seguintes secções: notícias, eventos, álbuns, blog, emprego e documentos. Pode também atribuir permissões aos utilizadores para estes gerire as secções referidas.
Na secção de slides, o administrador pode gerir (criar, editar e eliminar) os slides que aparecem no frontend do sítio web.
A secção de finanças da plataforma só está disponível se a API do PayPal estiver configurada nas definições da plataforma. Nesta secção, o administrador pode emitir pedidos de pagamento e atribuir a utilizadores que pode ser de qualquer natureza e importância utilizando para isto a interação do serviço PayPal.
Na secção de utilizadores, o administrador tem uma vista geral sobre os utilizadores da plataforma, pode criar e atribuir grupos, enviar notificações e atribuir permissões individuais e de grupo.
Na secção de definições, o administrador tem controlo sobre tudo o que esteja relacionado com o aspeto vísual do sítio web, informações de contacto e definição das API como: Facebook, Google Maps e PayPal. Com a configuração destas API, a plataforma fica mais rica e com mais recursos. O motivo pelo qual as API não estão configuradas por defeito é porque é necessário criar uma conta para cada uma delas e isso é algo que só as associações podem fazer.
Na secção de ajuda, o administrador tem algumas explicações de como criar as contas e configurar as API.
Na secção de notícias, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) as notícias que aparecem no frontend do sítio web. Sempre que é criada uma notícia, uma notificação e um e-mail serão enviados para todos os utilizadores, dependendo das definições de cada um.
Na secção de eventos, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) os eventos que aparecem no frontend do sítio web. Se a API do GoogleMaps estiver configurada nas definições da plataforma o utilizador tem aqui a possibilidade de incluir
29 a localização no mapa. Sempre que é criado um evento, uma notificação e um e-mail serão enviados para todos os utilizadores dependendo das definições de cada um.
Na secção de álbuns, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) os álbuns de fotografias que aparecem no frontend do sítio web e adicionar várias fotografias de uma só vez. Sempre que é criado um álbum, uma notificação e um e-mail serão enviados para todos os utilizadores dependendo das definições de cada um.
Na secção de blog, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) os artigos de blog que aparecem no frontend do sítio web. Sempre que é criado um artigo, uma notificação e um e-mail serão enviados para todos os utilizadores dependendo das definições de cada um.
Na secção de emprego, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) as ofertas de emprego que aparecem no frontend do sítio web podendo tornar estas ofertas disponíveis e indisponíveis a qualquer momento. Sempre que é criada uma oferta, uma notificação e um e-mail serão enviados para todos os utilizadores dependendo das definições de cada um.
Na secção de documentos, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) os documentos que aparecem no frontend do sítio web. Como cada associação possui diferentes tipos de documentos, a plataforma permite a gestão das categorias dos documentos. Sempre que é criado um documento, uma notificação e um e-mail serão enviados para todos os utilizadores dependendo das definições de cada um.
Na secção de publicidade, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) as campanhas de publicidade que aparecem no frontend do sítio web podendo tornar estas campanhas ativas e desativas a qualquer momento.
Na secção de parceiros, o administrador e utilizadores que tenham permissão podem gerir (criar, editar e eliminar) os parceiros que aparecem no frontend do sítio web.
3.1. Implementação da plataforma
A plataforma foi construída com base numa estrutura desenhada para que as secções apresentadas em cima possam funcionar de forma independente umas das outras. Esta decisão
30 foi tomada para que possíveis erros nas secções não “contaminem” o resto da plataforma mas também por uma melhor organização. Foi utilizado um tema para o backend e outro para o
frontend (licenças em anexo 1 e 2). Na raíz do sítio (Figura 3.1) é feita a divisão do frontend e do backend. A página “index.php” reencaminha o utilizador para o frontend sempre que o sítio seja aberto. A pasta “app” contém ficheiros relativos à plataforma como funções globais, as credênciais das API, a configuração à base de dados, detalhes dos utilizadores e detalhes da plataforma. Na pasta “uteis” estão os ficheiros das API.
Figura 3.1 – Estrutura da raiz do sítio
Na pasta backend, a pasta “acoes” contém ficheiros que são utilizados internamente pela plataforma para a realização de algumas operações como ativação de conta, reenviar e-mail de confirmação, entre outras. A pasta “assets” contém recursos ligados ao tema como folhas de estilo e ficheiros de JavaScript, etc. A pasta “functions” contém funções direcionadas ao
backend. A pasta “layout” contém o layout do backend da plataforma separado em ficheiros
com partes pertencentes ao cabeçalho, menu, notificações e mensagens. A pasta “other_pages" contém páginas que fazem parte da estrutura base da plataforma como a página de instalação, a página de entrar, entre outras. A pasta “uteis” contém um ficheiro reponsável por apresentar mensagens de sucesso, erro, aviso e informação. O ficheiro “index.php” inclui os ficheiros de ligação à base de dados, as funções globais, as funções do backend, os detalhes da plataforma, os detalhes do utilizador, as credênciais das API, os ficheiros relativos ao layout e o conteúdo que está guardado na pasta “pages”.
raiz
do sí
tio
app
frontend
backend
uteis
index.php
31
Figura 3.2 – Estrutura do backend
Dentro da pasta “pages” encontra-se o conteúdo referente às seguintes páginas: “ajuda”, “albuns”, “blog”, “dashboard”, “definicoes”, “definicoes-plataforma”, “documentos”, “emprego”, “eventos”, “financas”, “financas-plataforma”, “noticias”, “notificacoes”, “parceiros”, “perfil”, “plataforma”, “publicidade”, “slides”, “utilizadores”.
Em cada pasta a estrutura é idêntica à apresentada na Figura 3.3 onde cada pasta representa as opções presentes em cada secção.
Figura 3.3 – Estrutura da página das notícias do backend
A estrutura do frontend (Figura 3.4 e Figura 3.5) funciona de forma idêntica à do backend.
ba
ck
end
acoes assets functions layout other_pages pages uteis index.phpnoticias
default
criar
editar
imagens
index.php
32
Figura 3.4 – Estrutura do frontend
Figura 3.5 – Estrutura da página das notícias do frontend
3.2. Apresentação da plataforma 3.2.1. Backend
3.2.1.1. Instalação
A instalação da plataforma é feita em três etapas.
fr
on
tend
assets
functions
includes
layout
pages
index.php
noti
ci
as
default
includes
index.php
index.php
33 Primeiramente, são pedidas informações
relativas à base de dados (Figura 3.6): Servidor;
Utilizador; Palavra-passe; Base de dados.
Em seguida são pedidas informações relativas à plataforma: Nome da plataforma;
E-mail da plataforma.
Depois são pedidas informações relativas ao utilizador (administrador): Nome;
Apelido; E-mail; Palavra-passe.
Por fim, é pedido para fazer a autenticação e a plataforma está pronta a ser utilizada.
Todos os campos são obrigatórios em todas as páginas e todas fazem uma recuperação dos dados, caso o formulário seja submetido e tenha sido encontrada alguma irregulariadade.
34
3.2.1.2. Entrar
Figura 3.7 – Página “Entrar”
A página “Entrar” (Figura 3.7) apresenta os campos “E-mail” e “Palavra-passe”. O utilizador
registado e que tenha confirmado o seu registo através da ligação enviada para o seu e-mail, tem aqui o espaço para entrar na plataforma. Também é possível fazer a autenticação utilizando o Facebook caso a respetiva API esteja configurada.
Se o utilizador nunca tiver entrado na plataforma, ao fazer a autenticação através do Facebook, uma janela de comunicação é aberta para confirmar a informação indicada (Figura 3.8).
Se por algum motivo o utilizador não permitir que essa informação seja transferida, o registo não é realizado.
Se não houver nenhum problema, o registo é realizado e é enviado um e-mail com uma ligação de confirmação de registo. O utilizador precisa de confirmar o registo, sendo que, enquanto essa configuração não for feita, por uma questão de segurança, a entrada na plataforma não é permitida.
Figura 3.8 – Janela de comunicação com o Facebook para
35 As ligações “Esqueceu a palvra-passe?” e “Não tem conta? Registar” permitem, respetivamente, ir para as páginas “Esqueceu a palavra-passe” e “Registar”.
3.2.1.3. Registar
Figura 3.9 – Página de registo de utilizador
A página “Registar” (Figura 3.9) apresenta os campos “Nome”, “Apelido”, “E-mail” e “Palavra-passe”.
Quando o formulário é submetido as seguintes regras têm que ser respeitadas: O campo “Nome” é obrigatório;
O nome tem que ser válido; O campo “Apelido” é obrigatório; O apelido tem que ser válido; O campo “E-mail” é obrigatório; O e-mail tem que ser válido;
O e-mail não pode ser igual a um já registado; O campo “Palavra-passe” é obrigatório.
36 Se estas regras tiverem sido respeitadas, o registo é realizado e é enviado um e-mail com uma ligação de confirmação de registo. Enquanto essa confirmação não for feita, por uma questão de segurança, a entrada na plataforma não pode ser realizada.
Esta página faz uma recuperação dos dados, caso o formulário seja submetido e tenha sido encontrada alguma irregulariadade.
A ligação “Voltar” também está presente e permite ir para a página “Entrar”.
3.2.1.4. Esqueceu a palavra-passe
Figura 3.10 – Página para proceder à recuperação de palavra-passe
A página “Esqueceu a palavra-passe” (Figura 3.10) apresenta o campo “E-mail” para que possa ser enviada uma ligação que dá acesso à pagina para redefinir a palavra-passe.
A ligação “Voltar” também está presente e permite ir para a página “Entrar”.
3.2.1.5. Perfil
37
Página principal de perfil
A página principal de perfil (Figura 3.11) é onde está apresentada a informação relativa a cada utilizador. É possível escolher uma imagem de perfil ou utilizar a imagem de perfil do Facebook, caso alguma vez tenha sido feita a autenticação com o Facebook. É possível editar o nome e o apelido. O e-mail não permite edição por uma questão de
segurança. A alteração da palavra-passe também é uma operação que pode ser realizada nesta página para utilizadores com registo ou para utilizador que façam a autenticação utilizando o Facebook.
3.2.1.6. Notificações
As notificações fazem parte da plataforma e todos os utilizadores registados na plataforma têm acesso.
Página principal de notificações
A página principal de notificações (Figura 3.12) apresenta uma lista de notificações ordenadas da mais recente para a mais antiga. O utilizador recebe notificações conforme as situações que são descritas ao longo da explicação da plataforma. Existe uma paginação para prevenir uma enorme
lista de notificações, apresentando apenas oito pedidos de pagamento por página. O botão no topo da página permite limpar as notificações.
3.2.1.7. Finanças
As finanças fazem parte da plataforma e todos os utilizadores registados na plataforma têm acesso.
Figura 3.11 – Página de perfil
38
Página principal de finanças
A página principal de finanças (Figura 3.13) apresenta uma tabela com as colunas: “Pedido de pagamento”, “Importância”, “Observações”, “Estado”, “Data de pagamento” e “Ações”. Na coluna “Ações” está o botão “Pagar” que só está ativo caso o pagamento ainda não tenha sido efetuado. Existe uma paginação para prevenir uma
enorme lista de pedidos de pagamento, apresentando apenas oito pedidos de pagamento por página.
3.2.1.8. Dashboard
O dashboard faz parte das ferramentas da plataforma e só o administrador tem possibilidade de atuar nesta secção.
Página principal de dashboard
A página principal de dashboard (Figura 3.14) apresenta uma tabela com as colunas: “Secção”, “Itens”, “Estado” e “Ações”. Na coluna “Ações” estão os botões “Tornar visível/invisível” e “Permissões”.
O botão “Permissões” abre uma janela (Figura 3.15) que é constituida por um formulário no qual está presente o campo “Permissões” que serve para escolher os utilizadores que têm permissão para atuar nas respetivas secções listadas na página.
Figura 3.13 – Página de finanças
Figura 3.14 – Página de dashboard
Figura 3.15 – Janela das permissões na página de dashboard