Keynote starting! :)
wants everyone to say hi.
State of Drupal
"Drupal rocks" - gets applause
Dries starting at 19/20?
showing off original message board - drop.org
own improvements + suggestions -> open source, 1.0.0 january 15, 2001
Need to continue to convince people to use drupal and your own modules.
history of drupal, mostly.
small meeting room in hotel, sold out 20 people, booked a second room, sold out again, and then a suite. 45 people - "amazing"
robert douglass - first drupal book - building online communities
lots of drupal books now.
showing off new drupal look.
code sprint for new drupal
drupal keeps doubling - 3 terabytes data per month?
more than 4000 modules
and it's free!
long tail of contributions - collaboration over planning
Code Freeze September 1 2009 -> six months until then.
tests - 78% and 100% pass.
linking machines, pages, data, things
"Giant global graph" - web 3.0
Aquia room 9am - Building apis that rock
Congratulations, you're a nerd. We knew that.
Eaton - lullabot
worked on a lot of apis, token, voting, form, amazon, twitter.
wants to help us avoid pitfalls
No Elmo - he has not written any code worth anything. :)
Drupal 2004: Lego blocks that fit together.
Now, even more lego blocks - easy to step on and hurt.
Not a 'bad' thing,
Need modules we can combine easily and effectively. Need to be able to build in layers, and pieces need to work together properly, and that's where apis fit in. apis are like the little divits on top of lego pieces that make them fit together.
picture of tug of war, knot on rope is your module. tug of war between all the cool things that your module does and what people want, Building code that does stuff is important.
What is an API?
99% of stuff we build is based on clicking around to set things up.
Setting up a view these days with Views2 can get you 90-95% of the way to what your client, or you, want, but sometimes you've got to go in and make a few tweaks to customize a view to what's needed. One hook that's useful for customizing is
In this helpful hook, you can add something to the foot of your view by using the
$view->attachment_after property and setting it to the proper html, or to the head by using the
$view->attachment_before property. You can also adjust what the view is doing, and since this is before the query execution, you can easily change settings such as the number of rows being returned.
Although I did get some interesting-looking games at GenghisCon - where I was coordinating the RPGs this year, and thus didn't get to play - what I've been looking forward to just arrived in the mail yesterday, although I didn't notice the slim package until I walked out this morning. And that's the 'White Box' edition of Swords & Wizardry along with the first two issues of 'Fight On', all sent from Lulu.
I've got two Drupal modules that depend on reading through text to do something useful - the first is the 'Drupal Markup Engine', or dme, and the second is currently called 'pingv_coder', an extension to coder to check for what I think are poor programming practices, which isn't done yet.
In both of them I'm currently using regexp to scan and look for what I need - in the first I'm using some truly twisted regular expressions to find and isolate the tags that are left in the text. DME allows programmers to define custom tags in the format of <dme:tagname/> or <dme:tagname>...</dme:tagname>, and the code looks for these tags with regex. At the time I started, I read a lot of sites saying that parsing html-like or xml-like tags with regex wasn't the right way to go, and as I've improved and used my code, it seems more and more that that's true. It works well for the simple cases, but when you have tags nested inside of other tags, you start running into problems making sure you've got the right things nested. Happily, for the production sites we've used it in, the tags have been very simple, on the order of 'put this image here' and so on, and so there haven't been any problems.