Newspaper modules open-sourced by Studio Multimedia France 24 / RFI


Two months ago, a case study about the migration of France 24 from Drupal 5 to Drupal 6 was posted on frontpage, and it was announced some really interesting modules were going to be open sourced.

I'm happy to say it is (almost?) finished, and here is the list of modules:

  • Multimedia Element: It allows you to create blocks (not drupal blocks) containing stories (inserted manually, automatically, semi-automatically with Easy View), carousels of stories, text, photos, diaporamas (including lightbox diapos), video, twitter, table, ... And you can embed these blocks directly into your story with a nifty FckEditor plugin. Here is a nice example of story with a carousel, a diaporama and a video multimedia element.
  • Easy View: Easy View is a very easy and powerful interface framework to Views, in a CCK field. It also include Easy View Taxonomy, the easy view implementation of the taxonomy View. It basically allows a simple user to configure a View per node without using the complex View UI.
  • Uberimage: Uberimage is an advanced image CCK field, with direct upload/nodereference support, result imagecache presets re-scaling and cropping, useful on websites with multiple different image ratio (16/9, 4/3, 16/5, ...)
  • Formatter Selector: Ever wanted to let the user choose the theme of a node in a nodereference directly on the node edit page? This module allows you to do that.
  • External Sources / Externodes: Basically, this module allows you to map the nid and fid address space to another Drupal instance. A simple example: Given you have two drupals, if you type in your browser, it will in fact display the node 1 of using theme. is nowhere visible to the end user. Basic example of use: A big image collection you want to share between drupals.
  • Nodeselect: Nodeselect allows editors to search for content, in a simple exposed View integrated with Embedded Edit, and results can be drag and dropped into nodereferences.
  • Embedded Edit: Embedded Edit allows you to create/view/edit a node in a kind of lightbox within a node edit page. When creating a node, a nodereference will get filled with this node.
  • Views CCK Formatter: Views CCK Formatter allows you to choose a node CCK formatter as a row style in your View. This is extremely useful when you want to reuse a node theme in different parts of your website.
  • CSV Table: CSV table is a very simple table module that allows you to upload a CSV file in this CCK field, and display a table. This module will probably evolve a lot in the future.
  • JCarousel for Views: JCarousel for Views is a simple module for using JCarousel in Views.
  • JCarouself formatter framework: JCarousel formatter framework contains the JCarousel plugin plus a node CCK Formatter <-> JCarousel theme relationships framework.
  • Utilities: An utilities modules used by all the above modules.

Sorry, no pictures :( You can find them here or directly on the module project page.

Concerning theming, the France24 and RFI websites are heavily based on the standard CCK nodereference formatters, that's why almost all these modules are using it. I'll probably make some doc on how to combine all these modules later.


About Us

Lorem ipsum dolor sit amet, cum condimenum mattis dui fusce ut, el convallis suspendisse suspendisse sed in lementum ea sed cum condimenum ut.

4 Preset Styles

Rhoncus sed. Lectus vitae augue, mauris tincidunt. Ut nec fermentum accumsan cum condimenum mattis dui fusce ut...

Multi Menu

Rhoncus sed. Lectus vitae augue, mauris tincidunt. Ut nec fermentum accumsan cum condimenum mattis dui fusce ut...

Contact Us

Lorem vitae id orci nibh Nulla semper non pretium id elit.

Error |


Error message

  • Warning: Cannot modify header information - headers already sent by (output started at /home1/cemulu/public_html/ in drupal_send_headers() (line 1331 of /home1/cemulu/public_html/
  • PDOException: SQLSTATE[HY000]: General error: 1364 Field 'wid' doesn't have a default value: INSERT INTO {watchdog} (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9); Array ( [:db_insert_placeholder_0] => 0 [:db_insert_placeholder_1] => cron [:db_insert_placeholder_2] => %type: !message in %function (line %line of %file). [:db_insert_placeholder_3] => a:6:{s:5:"%type";s:12:"PDOException";s:8:"!message";s:1071:"SQLSTATE[HY000]: General error: 1364 Field &#039;item_id&#039; doesn&#039;t have a default value: INSERT INTO {queue} (name, data, created) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] =&gt; update_fetch_tasks [:db_insert_placeholder_1] =&gt; a:8:{s:4:&quot;name&quot;;s:13:&quot;advanced_help&quot;;s:4:&quot;info&quot;;a:6:{s:4:&quot;name&quot;;s:13:&quot;Advanced help&quot;;s:7:&quot;version&quot;;s:7:&quot;7.x-1.3&quot;;s:7:&quot;project&quot;;s:13:&quot;advanced_help&quot;;s:9:&quot;datestamp&quot;;s:10:&quot;1432557782&quot;;s:7:&quot;package&quot;;s:5:&quot;Other&quot;;s:16:&quot;_info_file_ctime&quot;;i:1434325656;}s:9:&quot;datestamp&quot;;s:10:&quot;1432557782&quot;;s:8:&quot;includes&quot;;a:1:{s:13:&quot;advanced_help&quot;;s:13:&quot;Advanced help&quot;;}s:12:&quot;project_type&quot;;s:6:&quot;module&quot;;s:14:&quot;project_status&quot;;b:1;s:10:&quot;sub_themes&quot;;a:0:{}s:11:&quot;base_themes&quot;;a:0:{}} [:db_insert_placeholder_2] =&gt; 1498584822 ) ";s:9:"%function";s:25:"SystemQueue->createItem()";s:5:"%file";s:78:"/home1/cemulu/public_html/";s:5:"%line";i:221;s:14:"severity_level";i:3;} [:db_insert_placeholder_4] => 3 [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => [:db_insert_placeholder_7] => [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => 1498584822 ) in dblog_watchdog() (line 160 of /home1/cemulu/public_html/
The website encountered an unexpected error. Please try again later.