desenvolvimento de módulos para o drupal .desenvolvimento de módulos para o drupal 6 monografia

Download Desenvolvimento de módulos para o Drupal .Desenvolvimento de módulos para o Drupal 6 Monografia

If you can't read please download the document

Post on 20-Dec-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

Desenvolvimento de mdulos para o Drupal 6

Everson Santos Araujo

Lavras

Minas Gerais - Brasil

2009

Everson Santos Araujo

Desenvolvimento de mdulos para o Drupal 6

Monografia de Ps Graduao Lato Sensu

apresentada ao Departamento de Cincia da

Computao da Universidade Federal de Lavras,

para obteno do ttulo de Especialista em

Administrao em Redes Linux.

Orientador:

Prof. Msc. Joaquim Quinteiro Ucha

Lavras

Minas Gerais - Brasil

2009

iii

Everson Santos Araujo

Desenvolvimento de mdulos para o Drupal 6

Monografia de Ps-Graduao Lato Sensu

apresentada ao Departamento de Cincia da

Computao da Universidade Federal de Lavras,

para obteno do ttulo de Especialista em

Administrao em Redes Linux.

Aprovada em 19 de Abril de 2009

____________________________

Prof. Msc. Ktia Cilene Amaral Ucha

____________________________

Prof. Msc. Herlon Ayres Camargo

____________________________

Prof. Msc. Joaquim Quinteiro Ucha

(orientador)

Lavras

Minas Gerais - Brasil

2009

iv

v

Este trabalho dedicado ao espirito colaborativo

que permite a continuidade da pesquisa e o

aumento do conhecimento humano.

vi

vii

Agradecimentos

Agradeo primeiramente a Deus, responsvel pela criao primeira.

Agradeo minha famlia em nome de meus pais, Helio e Valmira, e

minha irm, Evellyn, que sempre me proporcionaram um ambiente propicio ao

aprendizado, sempre com carinho, ateno e incentivo.

Agradeo minha esposa Vanusa pela pacincia e noites de sono

perdidos, compreenso e ajuda nas mais variadas tarefas para permitir minha

concentrao no trabalho.

Agradeo a meu filho, Heitor. Nova razo de minha vida e felicidade,

sempre carinhoso e amvel, uma grande motivao para seguir em frente e

querer sempre o melhor, para oferecer-lhe o melhor.

Agradeo UFLA e todos os professores que participaram direta ou

indiretamente do curso, oferecendo seu tempo e conhecimento para que pudesse

chegar ao final dessa jornada. Em especial ao professor Joaquim, por ter me

orientado e forado sempre que necessrio para que o trabalho fosse bem

elaborado, a professora Ktia por ter me apoiado no incio do curso e ser

componente da banca e ao professor Herlon pela honra de compor a banca e

avaliar o trabalho.

E por fim a todos os companheiros de jornada, os alunos que

participaram dos estudos em grupo e das aulas virtuais, equipe de suporte do

curso e da instituio que sempre atenderam bem as requisies e todos os

demais que possam no ter sido citados mas que tambm foram importantes.

viii

Sumrio1 Introduo.............................................................................................. 1

2 Drupal..................................................................................................... 3

2.1 Requisitos de sistema....................................................................... 6

2.2 Comunidade..................................................................................... 6

3 Desenvolvimento para Drupal.............................................................. 8

3.1 Padro de cdigo.............................................................................. 8

3.1.1 Indentao................................................................................ 8

3.1.2 Estruturas de controle............................................................... 9

3.1.3 Atribuio................................................................................. 9

3.1.4 Chamadas de funo...............................................................10

3.1.5 Declarao de funo............................................................. 10

3.1.6 Matriz..................................................................................... 10

3.1.7 Comentrios............................................................................11

3.2 Segurana....................................................................................... 12

3.3 Abstrao de banco de dados......................................................... 13

3.4 Sistema de menus...........................................................................14

3.5 Gerao de formulrios.................................................................. 17

3.6 Ns................................................................................................. 21

3.7 Taxonomias.................................................................................... 23

3.8 Constantes e variveis globais.......................................................23

3.9 Comentrios finais......................................................................... 25

4 Desenvolvimento de mdulos.............................................................. 26

4.1 Informaes sobre mdulo.............................................................27

ix

4.2 Instalao do mdulo..................................................................... 28

4.3 Ganchos e gatilhos......................................................................... 29

4.4 Sistema de permisses....................................................................34

4.5 Blocos.............................................................................................36

4.6 Registros do sistema.......................................................................38

4.7 Comentrio Finais.......................................................................... 39

5 Estudo de caso: ejournal..................................................................... 40

5.1 Sobre o ejournal............................................................................. 40

5.2 Motivao.......................................................................................41

5.3 Migrao de mdulos de Drupal 5 para Drupal 6..........................41

5.4 Discusso........................................................................................45

6 Concluso..............................................................................................46

7 Referncias........................................................................................... 47

x

Lista de FigurasFigura 1: Instalao padro do Drupal 6.....................................................5

Figura 2: Estruturas de controle..................................................................9

Figura 3: Atribuio de valores...................................................................9

Figura 4: Chamadas de funo..................................................................10

Figura 5: Declarao de funo................................................................ 10

Figura 6: Matrizes..................................................................................... 11

Figura 7: Matrizes com mais de 80 caracteres..........................................11

Figura 8: Comentrio em linha................................................................. 11

Figura 9: Caminho no encontrado...........................................................15

Figura 10: Implementao de gancho para menu.....................................15

Figura 11: Exemplo de funo.................................................................. 16

Figura 12: Utilizao de formulrios........................................................ 18

Figura 13: Validao de formulrio.......................................................... 20

Figura 14: Retorno de erro da validao...................................................21

Figura 15: Funo para xito no recebimento do formulrio...................21

Figura 16: Tipos de contedo derivando de n.........................................22

Figura 17: Localizao da pasta modules................................................. 26

Figura 18: Exemplo de arquivo com informaes do mdulo..................27

Figura 19: Utilizao de gancho para definir informao sobre eventos..32

Figura 20: Utilizao de gancho para definir aes..................................33

Figura 21: Interface para administrao de gatilhos................................. 34

Figura 22: Definio de permisso........................................................... 35

Figura 23: Verificao de acesso...............................................................35

Figura 24: Exemplo de definio de bloco............................................... 37

xi

Figura 25: Configurao de blocos........................................................... 37

Figura 26: Funo com exemplo de utilizao do sistema de registro.....38

Figura 27: Exemplo de registro................................................................ 38

Figura 28: Exemplo de chamada a url() no Drupal 5...............................42

Figura 29: Exemplo de chamada a url() no Drupal 6...............................42

Figura 30: Declarao da funo hook_access()......................................43

Figura 31: Definio do menu de histrico no Drupal 5..........................44

Figura 32: Definio do men