Developers and coders

Drupal Performance

Last modified: November 20, 2009 - 03:12

Given that GATE Village is built on Drupal it seems appropriate I should speak to Drupal performance in a general sense -- it's ability to perform was actually one of it's selling points for me. On of the most significant performance impact on Drupal is, of course, at the DB ... while there is a lot of logic in the code, all of the data lives in the DB and thus DB performance and DB bloat are always front and centre to a Drupal installation.

Performance

Last modified: November 19, 2009 - 20:42

Next to security, Performance is arguably the least understood characteristic of web applications. One old colleague put it best when he talked about there being really only two states: satisfactory and not-satisfactory ... there is really no middle ground there, things are either fast enough or they are not. Unfortunately, it is also nearly impossible to know ahead of time exactly what "fast enough" is ... with "Google-speed" setting the bar for public web sites and CMS systems using authenticated almost exclusively, there is a serious performance problem waiting in the wings at all time. This was true for Livelink and no less true for Drupal.

GATE Village experience as a Community Building Site

Last modified: November 19, 2009 - 17:44

I have 25+ years working with computers, most of them designing, creating, and maintaining web-based applications and infrastructure. I spent nearly 11 years at Open Text Corporation where I was recognized as one of the most knowledgeable people in all Architecture, Security and Performance related topics -- often the final authority on such matters. About 1 year ago I left Open Text and formed my own business, the Global Alliance of Trusted Experts -- the vision is a set of online communities united under a common framework of the GATE Village Trust System (http://www.gatevillage.net/trust).

I have years of experience as an IT expert, including designing and managing OTs Application Service Provider division and knew without a doubt that Open Text's ECM Suite was not the right platform for my vision -- it is far too centric to a single business, and it has a difficult time hosting multiple, disparate sites on a single platform; that and the cost of the software lead me to look elsewhere. Drupal is where I landed and this book is intended to help explain the journey with a hope that it might help others attempting something similar.

The goals of the site are:

Chat invites

Last modified: November 19, 2009 - 16:29

The "Manage this chat" fieldset contains an "Invite a user to this chat" widget. Use this to invite users to a chat.

An invited user will see a message on the next page they view, letting them know which chat they have been invited to by whom.

Modules can act on invites, so invites could lead to anything that can be coded in a Drupal module.

Chatroom APIs

Last modified: November 19, 2009 - 15:15

hooks

The chatroom module exposes various hooks to allow other modules to integrate with it in a clean manner.

hook_chatroom_chat_invites_notify

<?php
/**
* Notify a user of pending chat invites.
*
* @param mixed $chat_user
* @param mixed $invites
* @return void
*/
function chatroom_chat_notify_user_of_invites($chat_user, $invites) {
  foreach (
module_implements('chatroom_chat_invites_notify') as $module) {
   
$function = $module . '_chatroom_chat_invites_notify';
   
$function($chat_user, $invites);
  }
 
$sql = "UPDATE {chatroom_chat_invite} SET notified = 1 WHERE cciid IN (" . db_placeholders(array_keys($invites)) . ')';
 
db_query($sql, array_keys($invites));
}
?>

hook_chatroom_chat_invite_accepted

<?php
/**
* Update an invite and set it to accepted.
*
* @param mixed $node
* @param mixed $chat_user
* @return void
*/
function chatroom_chat_accept_invite($node, $chat_user) {
 
$sql = "UPDATE {chatroom_chat_invite} SET accepted = 1 WHERE nid = %d AND invitee_uid = %d";
 
db_query($sql, $node->nid, $chat_user->uid);
  foreach (
module_implements('chatroom_chat_invite_accepted') as $module) {
   
$function = $module . '_chatroom_chat_invite_accepted';
   
$function($node, $chat_user);
  }
}
?>

hook_chatroom_chat_invite_created

Review CVS Applications

Last modified: November 19, 2009 - 21:31

You can help review applications for CVS accounts from new contributors.

See http://drupal.org/project/cvsapplications

Reviewers can use these guidelines for evaluating submissions:

http://drupal.org/node/539608

Note that you don't even need to have a CVS account in order to review applications, so you can help other applicants improve their submissions while waiting for your own approval.

Syndicate content
 
 

Drupal is a registered trademark of Dries Buytaert.