Skip directly to content

Report from DrupalCon 2007 in Barcelona

on Sat, 2007-09-29 18:49

This is an abridged and revised version of my personal report from DrupalCon 2007 in Barcelona, where I was writing on groups.drupal.org/sweden during the course of the event.

DrupalCon Barcelona 2007

We are 415 participants from all the continents of the world. When the first DrupalCon was held two and a half years ago there were only around fifty participants. Since then, a further four DrupalCon have been held (if I’m correct). Most of the participants are from Europe, but almost as many come from North America. Almost all “big shots” are here and the number of participants is record high.

The conference will be held over four days, in four parallel tracks, covering 84 sessions. I feel like a child in a sweetshop.

Multilingual Drupal

Gábor Hojtsy, Jose Reyero and Ian Ward talked about the improved support for multilingual management at Drupal 6. The core of Drupal 6 will get a new subsystem for managing multiple languages. The system forms a common base on which multilingual modules can be built on. Everything won’t be finished until Drupal 6, but hopefully in time for Drupal 7.

Examples of new functions in Drupal 6: Each node can be associated with a language. Nodes containing the same text, although in different languages, form a text group. Which page to return is decided by the subdomain, the path prefix, the language selected by users, the language selected by the web browser and, finally, by the website’s default settings.

The user interface is also improved. Instead of having to go to a special webpage in order to create a new translation, this will be possible on the same page as the original.

Other improvements include the possibility to manage workflows during translation, the possibility to localize logs and e-mails, and a better performance.

FormAPI 3: The Adventure Continues

Jeff Eaton from Lullabot gave a very entertaining and interesting talk on novelties for version 3 of Form API. Here are some highlights selected from his talk:

  • It will be possible to create image buttons à la Views.
  • The name used to refer to a button will be distinct from that shown on the button.
  • Buttons can be assigned their own submit and validate functions.
  • A new array parameter $form_state[] will replace the old ones. It can be used for purposes such as transferring data from one step to another while a form is being processed.
  • The old method of managing multisteps forms, e.g. wizards, will be removed. Instead, only $form_state['rebuild'] = true will be used.

Version 3 of the Form API does not introduce any revolutionary novelties, but many small and very welcome improvements. for us programmers.

Using Drupal with external data sources

Ken Rickard presented several concrete coding examples of how Drupal can capture data from third-party databases and data sources (such as Yahoo) and show them as if they were stored as ordinary nodes. His message was that, we should seek to avoid importing large quantities of data upfront. Instead, we should use “lazy instantiation”, i.e. importing data into a node when it is first requested.

Drupal vs. Facebook

Three Drupal/Facebook sessions are being held. This one opened with Malo Girod de l’Ain presenting three trends which he thought Facebook represented:

  • The real-time web: the information displayed is updated in real-time. For example, you can see what your friends are currently doing on Facebook.
  • The Web as media itself: To be honest, I didn’t understand this point. ;-)
  • Self publishing: The user creates the content s/he wants to see. For example, in Facebook you can create an interactive image of how your friends are related to each other.

The session was followed by a discussion, where it was said that, what makes Facebook so successful, and is a must-have feature of any new major social networking website, is the open API.

The future of nodes

There are those who want to convert everything to nodes, and there are those, like Dries Buytaert, who don’t believe that’s the right way to go. This discussion has gone on for many years. But as Jeff Eaton said in his introductory talk, we are approaching the limit of what the node system can do. It is time to refactory the node system.

Refactoring a such fundamental part of Drupal will have long-lasting effects. That’s why we need to mull over this issue until all consequences come to light. As part of this work, virtually all the developers setting the tone, including Dries Buytaert, Larry Garfield, Károly Négyesi, Yves Chedemois, Karen Stevenson, Barry Jaspan, Angie Byron, Jeff Robins, Jeff Eaton, and all others I have forgotten to mention, as well as many of those interested, including myself, gathered to discuss this issue.

In the long run, nodes, users, comments, vocabularies, terms and everything else will all become special cases of what Karen Stevenson dubbed as Thingie. Thingie is like a superclass from which everything else inherit. But, in contrast to true classes, Thingie would not contain methods. Besides, Thingie will have two types of attributes: field and property. Fields carry data, such as the title and the body for a node, whereas properties carry metadata, i.e. details of the author and the time of the creation of a node. Thingie itself would contain a few common properties, such as a unique ID number.

I think Thingie is the way to go. With Thing it would be possible for Drupal to use — or to become itself — a Java Content Repository (JSR-170).

A few other interesting issues came up for discussion. One idea that was welcomed was that modules should manage their own submodules, instead of popping up in the ordinary module list. For an example, instead of CCK and all its fields modules, you would only get to see CCK, and then you would proceed to the CCK module page to activate the fields you want.

Another idea was that nodes (or Thingie?) should not get all fields from the database at once, but loading them when necessary (lazy loading).

Karen Stevenson also announced a piece of news that was welcomed with applause: instead of CCK and FormAPI each having their own field definition, Drupal 6 CCK will be using the field from FormAPI.

Asset Management

AchieveInternet demonstrated its Asset Management module, a module that supposedly gives Drupal support for “digital assets” in the form of pictures, films, sounds etc. But, today it only supports pictures.

On the face of it, this looks promising: fairly simple to use, nice dialogues etc. But the more they went on about it, the more “hyped-up” there module appeared to be, so it seems like nothing more than a glamorous image browser.

In my opinion, the missing element necessary for the module to be a real Digital Asset Management (DAM) module is metadata management. The most valuable element of a digital asset is not the file containing the picture, video, sound recording or whatnot. The most valuable element is the metadata that describes the asset so it can be found, version-managed, tracked etc. But, as I said, metadata, such as IPTC, EXIF and XMP, or metadata storage mechanisms, such as Java Content Repository, were not dealt with at all.

Panels 2

Wow! This will revolutionize Drupal. Panels 2 will be for content layout what Views is for content retrieval: a powerful interactive tool that can spare you from many hours of programming in just a few minutes.

Earl Miles, the man behind both Views and Panels, said that he wrote version 1 of Panels in 8 to 10 hours. “It’s therefore the user interface sucks”, to use his own words. He has fixed this in version 2 of Panels, but that is not all.

A panel may contain nodes, blocks, other panels or its own HTML/CSS. The content is placed in a grid whose layout is either one of the eight included ones, or one that you define yourself in an interactive user interface, or one that you write yourself in HTML/CSS/PHP. A Panel may appear as a node, a block or part of another panel.

Much in the same way as Views, a panel will be able to take an argument. This opens the door to fantastic opportunities. Among other things, you can create a page where the title, the teaser, the body are placed entirely independently of each other. This can also be done for forms.

Another interesting detail was that the panel itself and the containers in the panel can be styled, e.g. with straight or round corners, by selecting a “style” which you create yourself in CSS.

Earl pointed out that he consider Panels 2 primarily as a tool for creating prototypes.

Drupal and the future of news

Ken Rickard (Morris DigitalWorks and SavannahNOW) led a panel discussion on how Drupal can be used as a platform for news coverage. Sitting on the panel were also Moshe Weitzman (New York Observer), Steve Yelvington (MDW and BlufftonToday), Bert Boerland (Getronics-PinkRoccade) and Michael Meyers (NowPublic).

Of the 70 people attending, mostly from the world of printed media, only I and a few others actually still read newspapers. Since the 1970s the numbers of newspaper readers in the USA has dropped. The Internet offers a possibility of reconquering the reader, but at the same time it also presents a threat. The Internet bridges distances, and to survive in such a milieu, newspapers must become even more local and/or use the Internet to build relations with their readers.

So, where does Drupal come into the picture? According to Moshe Weitzman, Drupal already has everything that is needed to create solutions for fast news reporting.

Drupal for Facebook

Dave Cohen will soon be launching Drupal For Facebook, which will make Drupal into a development platform for Facebook.

Facebook allows users to develop their own applications which their friends as well as other users can install on their Facebook page. These applications are run on your own server which communicates with Facebook via XML/HTTP and Facebook Markup Language (FBML).

Dave’s modules make it possible for a Facebook application to be based on Drupal. He demonstrated this by creating an ordinary blog on Drupal and then made it accessible in Facebook. He could then post a new entry on Facebook which could be viewed in Drupal, and vice versa. Likewise, users could leave their comments in one environment which immediately became accessible on both Drupal and Facebook.

Schema API

Schema API allows developers to create and update tables and their columns by means of nested arrays which produce a compact code which can be said to be declarative. The code is entirely independent of the underlying database.

Schema API is for database tables what Form API is for web forms: an easy way to capture in few lines the structure and functionality that would otherwise would require many more lines of code.

On the face of it, they both appear to merely represent an alternative method of expressing what was otherwise expressed in SQL and HTML. But, beneath the surface, a lot more works are done. Works that we who writes core or contributed modules now don’t have to write ourselves. There are many benefits: it supports the DRY principles, produces more stable and secure codes, makes coding considerably faster and simpler, and produces codes that are easier to read.

Drupal and Change Management

WorkHabit has developed AutoPilot, a web-based system designed to roll out Drupal-based web sites. The first half of the presentation was given at an accelerated tempo, and consisted mostly of the magic formulations that make investors dip into their pockets… :-)

The last half was a sneak view of the upcoming version. It all looked very promising, and I am looking forward to try it out myself.

Drool (Drupal tool): Site management and rapid theme design

Drool is yet another tool which supports the roll-out and maintenance of Drupal-based websites. But Nick Blundell and Matthew Shepherd from Illuminate ICT focused on a function which I think is unique to Drool: automatic generation of Drupal themes on the basis of a picture.

They started with an image of the intended layout of the website. Then they ran the following command:

drool skin www.somesite.org.uk page mypageimage.png

that is when a ready theme was generated. Similarly, they could automatically “slice up” and generate CSS for the header, footer, block and so on. The theme was tableless, used source ordered columns and seemed to have semantic markup. Impressive.

The state of Drupal

In line with 1000 other drupelers, I answered the The State of Drupal 2007 Survey, compiled by Dries Buytaert at the end of August. He presented the result of the survey during his address, in fact his only one. Here are some of the highlights.

We drupelers consider ourselves to be best at:

  1. HTML
  2. Administering Drupal
  3. CSS
  4. PHP
  5. (I can’t read my messy notes.)
  6. MySQL
  7. Developing modules

Dries though it was remarkable that we didn’t consider ourselves best at administering Drupal. :-)

We consider ourselves to be worst at:

  1. Flash/Flex
  2. Developing modules
  3. Performance and scalability
  4. Marketing
  5. JavaScript
  6. Theming
  7. Graphics
  8. Writing documentation

Dries pointed out that we considered ourselves to be both best and worst at model development. :-)

The most sought-after core improvements for end users were:

  1. Media file management
  2. CCK as part of the core
  3. WYSIWYG editors

The most sought-after core improvements for developers were:

  1. Better performance
  2. A query builder similar to Views
  3. Improved authorisation management
  4. API improvements
  5. Improved File API
  6. Semantic theme

The least sought-after core improvements for developers were:

  1. Test Driven Development (TDD)
  2. Pluggable database backend

This is quit remarkable considering that TDD and component based architecture are both considered best practices.

Dries Buytaert presented the following conclusions for Drupal version 7 (D7):

  • D7 will be launched in a year’s time.
  • D7 will offer support for pictures, WYSIWYG and CCK, among others.
  • D7 will get a consolidated API.
  • D7 will be easier to use .

Dries delivered a very professional presentation which was met with a well-deserved standing ovation.

CivicSpaceOnDemand — automatic configuration and updating Drupal hosted products

Kieran Lal from CivicSpace Labs demonstrated CivicSpaceOnDemand — CivicSpace’s solution for installing, configuring and updating Drupal-based websites. This solution differs from AutoPilot and Drool by being the only one capable of capturing and recreating a website entirely programmatically. This opens the door to fantastic opportunities.

CivicSpaceOnDemand is currently used by CivicSpace Labs to host more than 600 websites belonging to political and volunteers organizations. They are planning to release the tool with an open source license

CCK 6.x and Beyond

Content Construction Kit (CCK) allows us to enhance nodes with additional fields of different types. Together with Views, this module is one of the contributed modules that almost everyone is downloading. That’s why parts of it will probably be included in Drupal 7. Until then, though, we will have to continue downloading it. CCK 6.x will feature a series of modifications and improvements:

To date CCK was doing everything its own way, from adding input fields to the node form, validating input data, saving input data in the database, retrieving input data from the database and presenting input data in the node. But in CCK 6, the input, validation and rendering will be managed by Form API, whereas the storage and database retrievals will be managed by Schema API.

One advantage of using Schema API is that it enables CCK to retrieve data for a number of fields in one single question, instead of one query per field, as is the case today.

CCK 6 will also make every field theamable.

After Dries Buytaert’s speech, this was the second session I attended that received the most applauds during these days. Yves Chedemois and Karen Stevenson really deserved the warm applause. Without any back-up from sponsors or employers, together they contributed more than 1,100 “commits” to CCK.

Final verdict

Overall, the sessions I attended were interesting and well carried out - and some of them were high-spirited. But, to be honest, there were also a few sessions that were badly prepared and badly carried out.

Sessions deserving special mention, because they were either so interesting or so well carried out, are:

  • FormAPI 3: The adventure continues
  • Using Drupal with external data sources
  • The future of nodes
  • Panels 2: What it is, what you can do with it, and where it’s going
  • Drupal and the future of news
  • The state of Drupal
  • CivicSpaceOnDemand — automatic configuration and updating Drupal hosted products
  • CCK 6.x and beyond

It is worth ponder over the fact that all these presentations, with the exception of the one by Dries Buytaert, were given by Americans.

Finally, I praise the Catalonia hosts for having done an excellent job. Everything was functioning smoothly, and Barcelona is a wonderful city. Thank you guys!

Resources

Sessions and presentations

Pictures, sound recordings, video

What other have reported

Post new comment