Nodeblock, Bean e Fieldable Panels Panes. Aprenda a diferença de cada um

No Drupal 6 e 7, existe uma necessidade muito comum que é: Criar campos em um bloco.
Porém, isso não é possível pelo fato dos blocos não serem uma entidade. Problema do qual já foi resolvido no Drupal 8.

Para suprir essa necessidade, temos algumas soluções.

A primeira delas seria resolver via programação, exibindo um formulário com seus desejados campos, e na exibição do bloco, retornar os seus valores setados. Porém, envolve um determinado conhecimento em programação e na API do Drupal.

As outras soluções seriam utilizar módulos “contrib”, como o Nodeblock, Bean ou Fieldable Panels Panes.

Veja abaixo a diferença de cada um deles:

Nodeblock

O Nodeblock dá a possibilidade ao usuário de configurar quais "Tipos de conteúdo" virem um bloco. Por exemplo: Eu tenho um tipo de conteúdo chamado "Pageblock", e configuro seus conteúdos gerados para que estejam disponíveis como um bloco.
A desvantagem do Nodeblock é por ser um "Node", sendo exibido em um bloco, contendo muitas vezes informações desnecessárias, tornando o bloco "mais pesado", influenciando na performance.


Bean

O módulo Bean (Block Entities Aren't Nodes) seria uma alternativa em relação ao Nodeblock. O Bean não utiliza um "Node" como base, ele cria um novo tipo de Entidade, e a partir dela, você cria seus "Tipos de bloco" com seus campos, via interface administrativa, forma idêntica ao de um "Tipo de conteúdo". Porém, com menos informações que um "Node" possui.


Fieldable Panels Panes (FPP)

O Fieldable é uma excelente alternativa para quem utiliza o Panels. Assim como o Bean, ele cria um tipo de Entidade que a partir dela, você cria seus "Entity Panes". Com o Fieldable, você cria vários tipos de FPP e seus campos. A vantagem é que seus conteúdos podem ser criados diretamente pela UI do Panels. Várias distribuições do Drupal utilizam-no, como o Panopoly, por exemplo.
A desvantagem deste módulo é que até a sua versão "7.x-1.5", o processo para criar um novo FPP precisa ser feito via programação. Criado o tipo, os seus campos podem ser criados via interface. A funcionalidade de criar os tipos de FPP já foram implementadas na versão em desenvolvimento "7.x-1.x-dev".

Veja aqui, como criar um FPP.


Saiba qual é a sua necessidade e faça sua escolha.

Até o próximo Post.