Hello, my name is Karim Ratib. I plan and build Drupal applications using the best modules from the community. I maintain or co-maintain many modules, including Views Bulk Operations and Sheetnode. I specialize in multilingual applications (especially Arabic), configuration management using Features, data modelling and processing using Views and Feeds, and integrating 3rd party libraries and services. I have good experience leading Drupal teams.

Sheetnode 1.5 released, now without Java

Sheetnode is one of the most exciting modules that I maintain. The underlying SocialCalc Javascript spreadsheet engine, which I forked from Dan Bricklin's original code, is much fun to work with. Plus, organizations of many sizes are starting to use Sheetnode to collaborate on their numeric data right in their Drupal intranets, instead of relying on Excel files in attachments.

I've just released version 1.5 of Sheetnode for Drupal 6.

Filtering Views results with taxonomy terms including synonyms and relations

Taxonomy is a very powerful classification system, so powerful in fact that it's hard (and resource intensive) to fully utilize it in Views and other queries.

Using Batch API to process Drupal Queue jobs

Hot on the heels of Batch API / Search integration, here is a related recipe to interactively run Drupal Queue jobs using Batch API, instead of waiting for cron or another background process to activate them:

  • Set up the batch process.

Regenerating your Drupal search index using Batch API

I love to use Views with the core Search module. The combination allows me to create advanced search interfaces using just exposed filters.

So today I was making changes to my search index structure, and I was wondering how to regenerate the million or so entries in my index. Waiting for cron to activate the indexing would surely not do! A quick Web search yielded the module Reindex and I started chanting "There's a module for that!" to my baffled coworker.

Top ten signs you've got too much Drupal on the brain

I wake up in the morning
Too tired from late night sprinting
If only that last beer hadn't been there!

I turn on my computer
And read my stream on Twitter
So many lives enmeshed in a great big web

I work my issue queue
Close a bug or two
Hang out on IRC for a tip to share

I use Drupal at work
That's why it makes it worth
To use a software that rocks for a change!

It's like a great big journey
That winds through all the countries
And takes us where the waves of code prevail

We're on this boat together

Importing the Quran into Drupal using Feeds & friends

The Quran is a significant work of literature. It has been studied and analyzed for centuries, and it is considered a reference for all followers of Islam. Many online sources offer access to the Quran, including the Quranic Arabic Corpus, a full-featured linguistic browser created by the Language Research Group at the University of Leeds.

As a native Arabic speaker, I always thought it would be interesting to own an electronic copy of the Quran which I could subject to my amateurish linguistic explorations.

Wishlist for Drupal.org

Some random observations on the usability of Drupal.org after 5 years of using it daily. I hope to expand on these in the future.

Provide automatic links between module pages and handbook pages

Documentation on Drupal.org is hard to navigate. Handbook pages are mostly disconnected from module pages, which doesn't encourage module maintainers to produce consistent documentation.

Views for hackers at VanDUG

I gave my "Views for Hackers" presentation at the Vancouver Drupal Users Group (aka Vancouver League of Drupalers). This is an updated version from the Pacific Northwest Drupal Summit earlier this month. Roland Tanglao filmed it and posted it on Qik - thanks Roland!

Fun with Views and Feeds: Sorting feeds based on number of items

Here's a short recipe to sort the results of a view using PHP. The domain of application is sorting feeds in Managing News based on the number of items each feed has.

Syndicate content