drupal

COMPARAÇÃO DA PERFORMANCE DE CACHE NO DRUPAL 7

Fiz um teste de performance no drupal 7 para comparar o desempenho em 3 situações de cache:

* sem a utilização de cache.
* utilização do cache normal + os demais cache ( page,block, js, css, etc.)
* e a mesma configuração para o cache agressivo.

O teste foi fazer 1000 requisições na instalação do drupal 7 ( full ) sem nenhum conteúdo adicionado (apenas tela de boas vindas ), fazendo 10 conexões simultâneas.

Usando mod_rewrite para converter suas urls antigas para o formado Drupal

Bom, estou trabalhando na migração de um site para drupal, este site possui diversos artigos que eram acessados através da url abaixo:

http://www.site.com/ler.php?id=455

Ao converter para o drupal eu precisava fazer com que essas urls continuassem funcionando por causa dos buscadores e links externos onde nao temos controle, entao utilizei o módulo do apache chamado mod_rewrite, muito útil nessas situações..

editando o arquivo .htaccess no diretório root da instalação do drupal adicione a regra abaixo um pouco antes da última regra padrão do Drupal.

Newsletter, Enviando conteúdo por email

Objetivo: Fazer um simples módulo implementado para enviar conteúdos (nodes) já cadastrados no site para o email dos usuários cadastrados na newsletter, sem precisar refazer o post manualmente.

O drupal possui o módulo chamado simplenews (http://drupal.org/project/simplenews) que é utilizado para que você possa postar um conteúdo e este é enviado por email para os assinantes da newsletter, no meu projeto pessoal (http://www.skatistaonline.com) eu queria enviar os posts de eventos para os assinantes um determinado tempo antes da data real do evento, fazendo com que os usuários se lembrem do evento e aproveitando fazendo um gancho para o usuário "clique e dê uma passadinha no site".

Para isso eu utilizei o módulo simplenews, um tipo de conteúdo próprio criado com cck chamado evento (title, body, imagefield, date field), então criei o módulo. :)

paginação no drupal

Vou mostrar rapidamente como é possível fazer sua própria página utilizando recursos prontos de paginação que o drupal ofereçe.. para detalhar um pouco mais o exemplo, vou colocar o código do menu também....

então vamos lá, para criar uma página própria no seu site, crie um menu como este:


$items['noticias'] = array(
'title' => t('News'),
'page callback' => 'news_main',
'access arguments' => array('access content'),
'type' => MENU_LOCAL_TASK,
);

fazendo um slogan dinâmico

Bom pessoal, fiz uma coisinha bacana hoje, precisava fazer o slogan do meu site dinamico, ou seja, precisava por uma frase do tipo: x fotos enviadas por y usuários.

como fazer isso?

bom, é preciso alterar a variável $site_slogan, acredito que já venha no arquivo template.php como padrão, então criei uma outra função para gerar essa frase:

function mycustom_slogan(){

$sql = "SELECT COUNT(*) FROM {node} WHERE type = '%s' AND status = %d";
$totalPhotos = db_result(db_query($sql, 'photos', 1));

Drupal nas universidades

Universidades começam a utilizar o Drupal, abaixo algumas instituições que utilizam Drupal:

HARVARD SCIENCE
Big Ideas da Universidade de BERKELEY
Museu de artes de Indianapolis
Instituto de artes da Califórnia

Database

O Drupal possui uma camada de abstração da base de dados, vamos entender um pouco melhor como ela funciona.

Vamo começar pelo arquivo de configuração:

no arquivo sites/default/settings.php definimos as configurações de acesso ao banco de dados dessa forma:

$db_url = "mysql://username:password@localhost/databasename";

Acesso externo a base do drupal

Após eu publicar meu primeiro post no drupal-br sobre objeto user recebi uma sugestão para escrever sobre acesso externo ao drupal.

vamos lá:

primeiro vamos precisar fazer o include do arquivo bootstrap.inc, arquivo que contém as funções necessárias para as requisições.

include_once('./blog/includes/bootstrap.inc');

drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);

$user do Drupal

Vou falar um pouco sobre usuários no Drupal.

Usuários são uma das razões da existência do Drupal, o Drupal ajuda usuários a criar, colaborar, comunicar usuários, formando assim uma comunidade.

O Drupal requer que o usário possua o recurso de cookies habilitado no navegador para se logar no sistema, caso contrário o usuário só poderá interagir com o sistema através do usuário anônimo, sim, anônimo é um usuário, porque ele é representado na tabela users com id 0.

O código que cria um usuário anônimo está localizado no arquivo bootstrap.inc na funcão drupal_anonymous_user.

O Drupal irá criar uma variável global chamada $user que irá representar a identidade do usuário corrente.