- 2012-08-19: Working on the new Drupal 8 Entity system at Drupalcon Munich
- 2012-06-15: Working on the new Drupal 8 Entity system at DrupalDevDays Barcelona
- 2012-03-23: Working on the future Drupal Document Oriented Storage at DrupalCon Denver. D8 or later ? Bets are on.
- 2011-09-01: Building an Unfuddle to Drupal Casetracker import module using Migrate
- 2011-08-28: Back from DrupalCon London and its WSCCI code sprint. Wow.
- 2009-11-29: mongodb_watchdog module created by dereine, ported to D7 by me in about half an hour, and migrated in a larger MongoDB project by damz before the hour ended. Wow...
Grokking Drupal
Rethinking watchdog(): logging in Kohana 3
Submitted by fgm on Sun, 2012-11-04 12:27Continuing this exploration of logging solutions used in various projects, let's look at logging in Kohana 3.
While Monolog and log4php share a mostly common logging model of a frontal Logger object instantiated as many times as needed to supply different logging channels, in which log events are Processed/Filtered then written out by Handlers/Writers, Kohana builds upon a simpler model, which can be summarized by three patterns:
- Singleton: there is only one instance of the Kohana
Log - Observer:
Log_Writerinstances are attached (and detached) to(/from) the logger instance and handle events they are interested in based on their own configuration. Much like a Drupal hook, all writer instances receive eachLogevent - Delegation: the
Logexposes awrite()to trigger the buffered writing, but does not implement it itself, but delegates to theLog_Writerobjects to perform it. Buffered logging control is aLogproperty, not aLog_Writerproperty.
Rethinking watchdog(): Monolog vs log4php
Submitted by fgm on Sat, 2012-11-03 16:45Beyond Monolog, other packages provide advanced logging services. Apache log4php is another well-known logging solution, used (among others) by CMS Made Simple, SugarCRM, and vTiger CRM.
It is based on the famous log4j package from the Java world, and from uses of this package I have seen on customer sites, I feel that it carries a lot of useless baggage, and is - in my opinion - significantly less of a good match than Monolog for Drupal 8.
Monolog vs log4php : equivalences
There is some degree of equivalence between the Monolog and log4php components:
| Purpose | Monolog | log4php | Notes |
|---|---|---|---|
| Log an event | Logger | Logger | Very similar |
| Store an event | Handler | Appender | both can be chained, group, control bubbling (Monolog) / filtering (log4php) |
| Format an event representation | Formatter | Layout | log4php layouts can format a group of events, Monolog formatters format an individual event |
| Massage event data | Processor | Renderer | Not so similar. Monolog processors will often add extra data, while log4php Renderers are typically used to format non-string events as strings. |
Rethinking watchdog(): Monolog architecture
Submitted by fgm on Fri, 2012-11-02 13:11I've been discussing Monolog in Drupal events (DrupalCamp Lyon, DevDays Barcelona) as a possible alternative to the legacy Drupal watchdog() service for quite some time, but never took the time to explain it in writing, and the feature freeze date is looming ahead, so since I'm taking part in th Gent code sprint, and code has been starting to take shape
here,
here, and
there,
here is an overview of the Monolog classes.
The diagram below is a simplified version of the Monolog architecture. It includes all classes and interfaces, but only the most significant methods, no constants, and none of the non-bundled classes and interfaces upon which some of the builtins depend.
Overview of the pluginification of Field API in Drupal 8
Submitted by fgm on Sun, 2012-08-19 11:54If you have been wondering about the general organization of Field API in D8 and did not take time to work yched's existing D8 Field API sandbox, here is a simplified and cleaned-up version of the currently envisioned class and interface set.
Developing to the Views 7.3 API - slides from DDDB
Submitted by fgm on Wed, 2011-03-16 23:19Now that Drupalcon Chicago is over, I found some time to fix the slides from my session at the Drupal Dev Days in Brussels. It took some time because neither Google Presentations nor Slideshare apparently like the MgOpen font family.
The presentation is now on Slideshare at http://www.slideshare.net/fgm-osinet/drupal-views-development.
The progressive code samples are attached to this blog entry, as a tarred Git repository.
Views 2 training video from DrupalCon Paris
Submitted by fgm on Tue, 2009-09-22 13:40If you haven't been able to attend DrupalCon Paris, or missed the session I led on Views for developers there, you can find its first part on archive.org:
Grokking Drupal: module dependencies in e-Commerce 4
Submitted by fgm on Tue, 2008-07-29 13:35Roughly two years ago, I prepared a diagram of the dependencies in the then-current version of Drupal e-Commerce (eC) for Drupal 4.6.
Now, with other eC projects looming ahead, a
possible session about eC at Szeged,
and eC 4 being in alpha, I figured it was time to update the model. Boy, has it changed ! Click the thumbnail for the full-size view.
Nodify, Objectify, CRUDify
Submitted by fgm on Mon, 2007-01-22 23:12Funnily enough, my recent post about wishes for Drupal happened just before discussion started afresh on the recurring "everything-as-a-node" theme, in which I seem to have been played the re-animator part this time.
Thinking deeper upon this issue, I figured it would be interesting to see where Drupal stands currently (in D5) regarding the reularity and orthogonality of the hook system and most visible content-related entities: nodes, comments, terms, vocabularies, and node types.
The resulting table is attached to this post (OpenDocument format), and shows some interesting results:
A time for Drupal Wishes
Submitted by fgm on Mon, 2007-01-15 23:25The release of Drupal 5 today comes at a time of the year where one makes wishes, and obviously I wish the best for Drupal, be it for our new production workhorse Drupal 5, or its hardly conceived descendant Drupal 6.
So while there's still time for wishes in Drupal 6, here is a selection of three grand wishes :
Who does what with ProductAPI ?
Submitted by fgm on Sun, 2006-12-10 20:36This table shows which operations are actually documented, used, and implemented, by the e-commerce ProductAPI, hook_productapi().





Recent comments
13 weeks 2 days ago
15 weeks 2 days ago
16 weeks 3 days ago
16 weeks 6 days ago
16 weeks 6 days ago
16 weeks 6 days ago
25 weeks 4 days ago
25 weeks 5 days ago
27 weeks 5 days ago
28 weeks 3 days ago