Image
Como usar Drupal

Esse artigo é o primeiro da série "Como usar Drupal", dividido em três partes, dedicado aos aventureiros(as) que por pura curiosidade (ou necessidade para ser mais realista) precisam aprender a usar o Drupal 8 ou 9 (os fundamentos entre 8 e 9 são praticamente os mesmos).

Esse primeiro artigo irá definir certas expectativas quanto à experiência de usar o Drupal para desenvolver sites. Os outros dois artigos irão explorar o backend e frontend respectivamente.

Provavelmente você ouviu dizer que o Drupal oferece mais flexibilidade do que outros sistemas como Wordpress. E por ser mais flexível, é comum achar opiniões de que se é mais complicado de usar. 

Deixe-me clarificar essa idéia através de um gráfico.

Image
drupal chart

A grosso modo, frontend abrange todas as funcionalidades relacionadas ao visual e interação do site, enquanto que o backend envolve funcionalidades que não são visíveis ao usuário final, como por exemplo a estruturação e armazenamento de dados.

Backend

Eu pessoalmente acho o backend do Drupal fácil de usar e bastante versátil devido a dois conceitos fundamentais: entidades (entities) e campos (fields). Entities são coisas que usam fields para guardar informações. Repita comigo essa definição tão importante que vou até deixar em negrito: entities são coisas que usam fields para guardar informações. Por exemplo, um usuário é um tipo de entity que possui fields para guardar informações como nome, email e senha. Uma página pode ser considerada uma entity com fields para armazenar o conteúdo de uma página. Um post pode ser uma entity com fields para titulo, conteúdo e comentários. E assim por diante. Entrarei em mais detalhes sobre Entities e Fields no próximo post, mas antes de terminar de falar sobre o backend quero ressaltar de que um field pode ser praticamente qualquer tipo de dado: texto, número, link, imagem, vídeo, tempo, data, unidade de medida, endereço, referência à outra entity, etc. Tudo que puder ser imaginado como uma combinação de entity + field é possível de se criar com o Drupal de forma fácil e rápida usando apenas a interface gráfica.

Posso estar dando a impressão de que trabalhar com o backend do Drupal é uma maravilha e realmente é. Mas de acordo com a bíblia, nem só de backend o homem viverá. Vejamos o que o Drupal oferece no frontend.

Frontend

O frontend (que envolve a parte visual do site) não é a coisa mais fácil e agradável de se trabalhar (minha opinião pessoal, mas provavelmente também a de muitas pessoas). É possível sim personalizar muitos aspectos do site sem muito esforço e também baixar temas gratuitos ou pagos para o Drupal. Porém a variedade de temas é relativamente limitada em comparação  a outros sistemas como o Wordpress. Além disso certas tarefas aparentemente banais (como alterar o texto de botões ou personalizar formulários) frequentemente exigem um conhecimento sólido de backend Drupal para fazer de forma correta (gambiarras extraordinárias para implementar um design totalmente fora dos padrões Drupal são frequentes). Em outras palavras, saber usar HTML, CSS e Javascript não será o suficiente para personalizar muitos aspectos do site (vai precisar saber bem o Drupal para isso). A boa notícia é de que existem temas flexíveis o suficiente que geralmente permitem ser alterados ou “estendidos” para implementar o design desejado. Mais sobre esse assunto na Parte 3 dessa série.

Quando e como usar Drupal

O Drupal é reconhecido como uma solução popular de CMS (Content Management System ou Sistema de Gerenciamento de Conteúdo) como por exemplo portais de notícias, sites de empresas, institutos educacionais, institutos governamentais, etc. Isso se deve ao fato de que esses tipos de empreendimentos geralmente requerem funcionalidades mais avançadas (moderação de conteúdo, permissões distintas para diferentes tipos de usuários, conteúdo multilíngue, etc) e possuem recursos suficientes para contratar programadores para customizar o Drupal segundo suas necessidades.

Porém, devido à flexibilidade do Drupal principalmente na parte do backend, acredito que existe uma grande vantagem em usá-lo em projetos que exigem uma estrutura de dados bem específica sem exigir uma interface gráfica muito personalizada. Exemplos de projetos pessoais que implementei em Drupal que se enquadram nesse perfil incluem sistema de controle de presença em salas de aula, biblioteca e tocador de música pessoal e um sistema de cadastro e gerenciamento de voluntários. Outras idéias que me vêm em mente são sistemas de IOT, gerenciamento de condomínios, academias, clínicas veterinárias e qualquer sistema interno de pequenos e médios negócios. Todos esses projetos requerem um modelo de dados bem específico (coisa que o Drupal é extremamente competente) mas não necessariamente uma interface gráfica digna de um prêmio de design.

Espero que esse artigo tenha oferecido uma idéia realista do que esperar ao desenvolver em Drupal: trabalhar com o backend é show de bola; trabalhar com o front end é show de horror (exagerando um pouco). No próximo artigo iremos explorar com mais detalhes a parte show de bola do Drupal.

Últimos posts

13 Aug 2020 | By bdiasti

Guia para resolver problemas em Drupal :)

Quando estamos iniciando em determinada tecnologia ficamos meio perdidos em como vamos resolver determinado problema, por exemplo seu gerente pediu pra você criar um ranking das pessoas que mais contribuíram este mês com a comunidade Drupal, e ai como você começaria a resolução deste problema em Drupal?