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.
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.
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. :)
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,
);
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));
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
Site oficial:
http://www.drupal.org
http://drupal-br.org
Criador (Dries Buytaert):
http://buytaert.net/
Pesquisa feita pela IBM para escolher um CMS para desenvolver novo projeto:
http://www-128.ibm.com/developerworks/ibm/library/i-osource1/#N10245
Empresas especializadas em projetos com drupal:
http://www.lullabot.com
http://www.acquia.com/
http://www.chuva-inc.com
Sites legais feitos em drupal:
http://www.lifetimetv.com/
http://www.flixya.com
http://www.wiiliketopodcast.com/
http://www.vivagreen.com/
http://bigideas.berkeley.edu/
http://www.observer.com/
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";
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);
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.