A week in Ecuador - Viva el Drupal Latino!

Earlier this month I spent a week in Ecuador. It was my first time in Latin America. I wasn't sure what to expect given that I don't speak Spanish, but I must say I had a blast, it was a lot of fun! I was invited to present a couple of sessions on the Semantic Web and Drupal at the Drupal Summit Latino which took place in the city of Loja. Besides the usual RDF, SPARQL and schema.org topics, I also presented something new this time: WebID. Even though the Drupal implementation is still maturing, there was quite some interest and enthusiasm, followed by a conversation with Felix Delattre on WebID + OpenID. The Drupal Latino Summit event gathered around 150 people mostly from Ecuador, although the speakers were coming from all over Latin America and a few flew from North America. Drupal was new to many of the attendees. Some attendees were familiar with Free Software in particular Debian. The organizers did an amazing job at running the Camp which from my point of view went very smoothly. They hired a translator to translate my sessions in Spanish and distributed remote headsets to the attendees. Questions from the audience were translated from Spanish back to English to my headset. When the translator wasn't around, others were happy to act as translators (thanks Molly, Rommel, Felix and Eric among others!). The event was hosted by one of the local universities: Universidad Tecnica Particular de Loja, located on a hill looking over the city. Combined with a perfect weather, this was an ideal location for spending some time talking Drupal and meeting new people.

Log in with WebID and get to comment without moderation

Last week I released a new alpha version of the WebID module for Drupal, and today I've just added a first integration with the Drupal Rules modules allowing to trigger customizable actions whenever someone logs in with his WebID. For example, the WebID module now comes out of the box with a default rule to grant user logging in with their WebID the role "webid guest". From there it's easy to give them specific permissions on your site, such as skipping the moderation queue for comments. This is currently set on this site, to try it out, first log in with your WebID at the top right corner, and then leave a comment. Let's see how long it takes for spammers to catch up with WebID...

Schema.org Rich Snippets with Drupal 7 and RDFa

Back in June, Google, Bing and Yahoo! announced a joint effort to build a schema for describing content the web. The first schema.org workshop took place last week in Mountain View, CA. I had the chance to participate in the event, and meet the folks behind schema.org as well as other members of the web community such as Tantek Celik (Microformats), Ian Hickson (HTML5), Ben Adida & Ivan Herman (RDFa), Dan Brickley (FOAF) and many others. RV Guha from Google announced several interesting schema.org partnerships:

Lots going on around schema.org! You can read Eric Franzon's report for more details: Schema.org Workshop – A Path Forward.

The Definitive Guide to Drupal 7: Semantic Web, Security and so much more

I’ve been quiet about my involvement in this daunting project, but now that the book is finally complete and has hit the book stores, it’s time to talk about it. It all started more than two years ago when Benjamin Melançon (the instigator of this crazy project) asked me if I would be interested in helping him write a book on Drupal. It was when I was traveling on the East Coast spreading the word about Drupal and RDF (around the time of DrupalCon DC 2009). I was honored and agreed to participate. Things were very much up in the air at the time, and Ben didn’t really have any plan yet on how this would become real. In any event, by the end of the year Ben had put me and a few others in touch with some Apress folks. At the beginning of 2010, we had a contract and a list of about 10 authors, with an initial table of contents. Every few weeks or so we would see the list of authors increasing (with some dropping out and being replaced by others). Ben would surely have more insight into all the work he did to recruit authors, but that’s what I saw from my standpoint. I found it interesting to see so many authors on the same book, and wondered how all this bazaar of expertise would eventually turn out to fit in the same book. Each chapter was written by only one or two people, so that made it easy to break down the tasks and keep the authors organized.

I originally came on board to write on the topic of the Semantic Web, RDF and RDFa in Drupal, this is Chapter 28: “Spice Your Content Up With Tasty Semantics”. I’ve tried to cover the RDF core API as much as possible. Covering RDF in contrib was challenging given how fast it evolves, but I’ve put in enough pointers for people to find up to date information when they get to the chapter (including the new RDF Extensions and the merge of SPARQL Endpoint into the main SPARQL module). Thanks to Jeannie Finks, Ed Carlevale, Lin Clark, Oshani Seneviratne, Nick Maloney, and Boris Mann for their review and inspiration on this chapter.

As I was reviewing some other chapters of the book, I felt something was missing. Being a member of the Drupal Security Team, I could not find any reference to security in the list of chapters. Some chapters touched on the topic, but none really dealt with how the Drupal project and its community deals with security. That’s how I ended up with a second chapter on my plate, Chapter 6: “Security in Drupal”, which covers what to do to keep your site secure, how to react when you discover a vulnerability in a module, etc. Thanks to Greg Knaddison, Ben Jeavons, and Nick Maloney for reviewing this chapter.

I want to really thank my wife, Diliny, who has been very supportive throughout the entire time, making time aside so I could focus on the book, sacrificing many evenings and weekends. Thank you Diliny!

Among the chapters I have reviewed, my favorites are Jacine’s chapters on theming (chapters 15 and 16). Don't get me wrong, no offense to any other authors, I've been pleased with the content of the other chapters I've read! Plus there are some chapters I haven’t had the time to review (though others did). Given that I’m not a themer, I learned quite a lot from these theming chapters: they helped me to glue together some knowledge of theming which was scattered in my brain and needed some bigger picture to make more sense.

If you want to buy a great book about Drupal, with a wide range of expertise from the community condensed into 38 chapters, 9 appendices, 1000+ pages, buy our book! See all your purchase options at http://definitivedrupal.org/purchase

The Definitive Guide to Drupal 7 at DrupalCon London

If you’re in London this week, you can meet some of the authors of the Definitive Guide to Drupal 7 at DrupalCon and get your copy of the book signed! If you want to check out the book and see how much it weights, look for the Wunderkraut booth, on the first floor on the left of the Acquia room (marked as booth 20 on the venue map), or ask Florian Loretan. I hear there will even be a book give away everyday for the winner of the Lego Bootstrap game organized at the Wunderkraut booth.

Can microdata support multiple vocabularies?

In Drupal 7 we often use multiple types to describe pieces of content, for example a node is a sioc:Post and a foaf:Document, a comment a sioc:Post and a sioct:Comment. This is useful when you want to be generic and specific at the same time, or when a consumer only recognizes one vocabulary and not the other. For example imagine that you want to combine Facebook's Open Graph protocol and schema.org vocabularies onto the same page elements so that your blog posts are recognized by Facebook, Google and Bing. Another use case is a news website using rNews, a proposed standard developed by the IPTC for annotating news-specific metadata. There is great incentive for such news website to also be indexed by the major search engines, which will only recognize the schema.org vocabularies.

Update: alex b posted another interesting use case on the schemaorg-discussion mailing list:

I can imagine that some businesses may fit into more than one Schema
tag. Will there be a problem with applying more than one? For
example I might want to apply the following tags to a car dealer:
AutoRepair, AutoPartsStore if they perform all of these functions of
course. Is this going to fly or is this something we're not
supposed to do?

From the use cases above, it is clear that the ability to combine vocabularies is essential for allowing a decentralized extensibility on the Web.

Background research work leading to RDF in Drupal 7 released as part of my Master's thesis

Oct 22nd, 2010 NUIG graduation leaflet (Photo credit: Anna Dabrowska)

Today it's about time to make my M.Sc. thesis available online. The review process took a long while, but I finally graduated from DERI, National University of Ireland, Galway last October. That's more than a year after I submitted my thesis and actually left Galway to move to Boston.

The Open Graph protocol and Drupal

Administration interface of the open graph protocol Drupal module

A couple of days after Dries Buytaert gave his keynote at DrupalCon San Francisco and reaffirmed his support for the Semantic Web in Drupal, Facebook co-founder Mark Zuckerberg announced at the f8 developer conference the brand new Open Graph protocol, a technology to turn webpages into social objects and capture them in a social graph. The announcement was backed up by a lot of PR and according to Facebook, 50,000 websites have already implemented OGP including IMDb, NHL, Posterous, Pandora, Rotten Tomatoes, Yelp and more. There is plenty to read about the marketing around this announcement, but I'm going to keep this post at a technical level only.

RDFa in Drupal 7: last call for feedback before alpha release

The first alpha release of Drupal 7 will be created next Friday Jan 15th. We've already incorporated most of the feedback we received from the semweb community so far, but I wanted to give the community a last chance to review the RDFa markup and the default RDF mappings we use before it's too late. I should emphasize that all the markup and default RDF mappings that we ship in core will be pretty much set in stone after the stable release of Drupal 7, hence this call for feedback. Site administrators who care about semantics will be able to alter these mappings by installing extra modules, but many people (read several 10K sites) will just install Drupal 7 and not care about the semantics it generates. Therefore we want to make sure the RDFa generated by Drupal out of the box is somewhat correct and does not make folks from the semantic/pedantic web community angry :) - we've tried to keep the semantics as generic as possible for that reason.

RDF mappings

I've created a diagram representing the default semantics of the core data structure which has been committed and I would appreciate feedback on the RDF terms we've used.

Drupal 7 core RDF schema

RDFa markup

To make the RDFa markup review process easier, I've updated the usual testing site at http://drupalrdf.openspring.net/. It features a blog post with some comments which represents a typical Drupal 7 page annotated with RDFa. Some other pages have been randomly generated to be able to test the tracker which acts as a very simple sitemap in RDFa.

Status of RDF in Drupal (November 09) and wrap up of ISWC2009

ISWC 2009 background - http://www.flickr.com/photos/kasei/4055714142/

I had the pleasure to give a presentation of the paper "Produce and Consume Linked Data with Drupal!" at ISWC2009 last, and I was very honored we won the Best Semantic Web in Use Paper award! The 30 minutes of presentation + Q/A passed very quickly and I didn't have much time to expand on the status of RDF in Drupal 7 vs. Drupal 6 after describing the inner workings of the modules we developed. I'm sure this will also interest some people outside the attendees. First of all, the current stable version of Drupal is Drupal 6 (the latest version at the time of this writing being Drupal 6.14). This is the version on which we started to implement the contributed modules presented at ISWC2009, namely RDF CCK, RDF external vocabulary importer (Evoc), SPARQL Endpoint and RDF SPARQL Proxy. Contributed modules means they do not get included in the core Drupal package, but people can download them from drupal.org for free and drop them on their server so Drupal core can be extended. These 4 modules work pretty well on Drupal 6, you can get RDF export in RDF/XML, N-Triples, turtle, json. However generating RDFa is not very easy as it requires to patch the CCK on which we rely to generate the content pages and store the various field data. We made sure this would not be a problem in the next version of Drupal (Drupal 7) which is still under development, and due to be released sometime next year.

Produce and Consume Linked Data with Drupal!

Drupal in the Linked Data CloudProduce and Consume Linked Data with Drupal! is the title of the paper I will be presenting next week at the 8th International Semantic Web Conference (ISWC 2009) in Washington, DC. I wrote it at the end of M.Sc. at DERI, in partnership with the Harvard Medical School and the Massachusetts General Hospital which is where I am now working.

It presents the approach for using Drupal (or any other CMS) as a Linked Data producer and consumer platform. Some part of this approach were used in the RDF API that Dries committed a few days ago to Drupal core. I have attached the full paper, and here is the abstract:

Currently a large number of Web sites are driven by Content Management Systems (CMS) which manage textual and multimedia content but also - inherently - carry valuable information about a site's structure and content model. Exposing this structured information to the Web of Data has so far required considerable expertise in RDF and OWL modelling and additional programming effort. In this paper we tackle one of the most popular CMS: Drupal. We enable site administrators to export their site content model and data to the Web of Data without requiring extensive knowledge on Semantic Web technologies. Our modules create RDFa annotations and - optionally - a SPARQL endpoint for any Drupal site out of the box. Likewise, we add the means to map the site data to existing ontologies on the Web with a search interface to find commonly used ontology terms. We also allow a Drupal site administrator to include existing RDF data from remote SPARQL endpoints on the Web in the site. When brought together, these features allow networked RDF Drupal sites that reuse and enrich Linked Data. We finally discuss the adoption of our modules and report on a use case in the biomedical field and the current status of its deployment.


Subscribe to OpenSpring RSS