March 5, 2009

IRC backchannel log for Totally Rocking Your Development Environment, DrupalCon 2009

March 5, 2009 - Categories: drupal

IRC chat, thanks to Stephane Corlosquet

This was for my Totally Rocking Your Drupal Development Environment talk at DrupalCon 2009. =)

bryankennedy my favorite development environment requirement = electricity
bryankennedy glad i got near the power strips
jrglasgow Be Lazy!
lyricnz Such infectious enthuiasm
danblah hah nice jrglasgow
jackaponte is now known as palante_jack.
jrglasgow What? I only maintain 5 or 10 modules myself!
danblah lol, she has to much time on her hands!
jrglasgow Hey, I’v read about all the modules, at one point in time, then there just got to be too many.
danblah so true nothing worst is when i start putting a module together then find that it was already done a few hours in
tcconway rocks
edeloso biggest problem is sorting out which is the most current and well developed for the specific domain
jrglasgow danblah: I’ve done that as well
Morbus what’s going on in the trellon room?
alaken Going through all 4000+ modules is being lazy???
lladnar1_ I guess you have to work hard to be lazy
scor__ Morbus: Totally Rocking Your Development Environment
bryankennedy It’s lazier than writing a module that’s already been developed.
jrglasgow Morbus: we are discussing being lazy, the first of the 3 virtues of a programmer
lladnar1_ is now known as lladnar1.
scor__ bashing windows and IE
Morbus thanks.
jrglasgow scor__: that’s exactly why I can this week
jrglasgow ^^ came
vasi For the firefox profile manager on Mac OS X, here’s my way to do it:
Lane did she use some term to describe “relentless improvement”? “kaisa” or something?
Lane or did I just mishear?
vasi kaizen i think
scor__ vasi: thanks for sharing your tips – keep it coming!
Lane vasi: thanks!
vasi np
vasi Safari and Chrome have “private mode”, that also lets you log in as two drupal users in one browser
vasi (Firefox 3.1 should have that too)
Lane tamper data sounds fun just in general, nevermind for development work
jrglasgow When you hate clicking on things, TAB is your best friend
jrglasgow Lane: Tamper Data is fun, especially when writing screen scraping scripts.
tcconway any good iMacros tool for the Mac?
vasi tcconway: i don’t think there’s anything free
tcconway figures….
danblah dude thats crazy
danblah this ext sounds sick
vasi wow, Drupal for firebug shall be my new god
vasi worships
tcconway I’m in LOVE
japerry omg bouncy bouncty!
bryankennedy isn’t selenium kinda like imacros?
danblah lol
bryankennedy you can use that on a mac
tcconway OW – PAIN
lladnar1 Drupal for firebug rocks!
tcconway amazing!
tcconway I can’t live without AdminMenu
japerry tcconway: same here.
danblah admin menu ftw
jrglasgow Instead of Admin Menu I use Simplemenu, SimpleMenu has the full Navigation Menu, not just the Admin menu
tcconway Sacha is adorable!
tcconway (couldn’t resist)
bryankennedy Login with email should be in core.
jrglasgow bryankennedy: I agree, let’s make a push to get it there
vasi any recommended debugger UI?
jrglasgow tcconway: I agree
vasi i’m using Komodo
vasi but it’s non-idael
vasi *ideal
sceo XDebug = like Krumo?
vasi (i find Eclipse’s debugger painful)
japerry didn’t emacs die?
alaken I’m using freeware Komodo edit
sceo +1 for Komodo Edit
vasi (and don’t even get me started on vi)
japerry ducks
bryankennedy jrglasgow – yeah, i knew I should have had a commitment to do some code before I suggested
vasi Does the freeware Komodo have debug?
jrglasgow +1 Komodo Edit
bryankennedy xdebug is more than krumo
jrglasgow vasi: no
vasi sceo: no, not at all like krumo
bryankennedy you can use krumo with xdebug
vasi it lets you actually step through lines of code
danblah w00t! shooting
vasi as they execute
jrglasgow +1 Git
alaken Komodo edit – MUCH better with the Komodo Source Tree add-in
Moonshine_ can be handy for xdebug also…
tcconway what? You have to check things in?!?!
bryankennedy brining new drupal developers into SVN or CVS is a big learning hump….so useful though
sceo puts xdebug on the list
tcconway makes a note to checkin.
edeloso I agree with the whole source tree… makes sure that version of core code is tied with the site…. upgrading a multisite hosting can be a nightmare
tcconway works really well for us too.
bryankennedy whole tree in svn is great, especially b/c most websites have SOME non-drupal pages or info in them somewhere
sceo source code control + drupal — so many approaches. we battled this for hours and hours at my company… we don’t really still have a good method
tcconway wait – you can have subdirectories in /sites/all/modules?
vasi sceo: yeah, it’s hard
vasi tcconway: yup
bryankennedy we use sites/all/modules/dev and then svn ignore on trunk for dev modules
tcconway wow.
vasi bryankennedy: doesn’t that make your dev env hard to migrate?
openprivacy check out drubuntu’s layout
tcconway bryankennedy: brilliant!
bryankennedy vasi: nah, you just ignore it on trunk, not on the branches
vasi bryankennedy: nice
Lane so what’s a good VCS for a single-person shop with no VCS experience or even awareness?
bryankennedy you have to do some manual moving around when you branch
Lane well, some awareness.
tcconway Lane: I’ve had good success with VisualSVN
vasi Lane: i’d start with SVN
Moonshine_ likes subversion as it’s time tested, lots of tools and not CVS
nick_vh Finally got some connection, yeah!
roginald nice
vasi but git is nice, too….it just breaks your brain
bryankennedy and svn has a free book
roginald i started using svn for local with 0 knowledge and it seems fine
bryankennedy You can start using svn in a day, it’ll take a year to learn really well.
nick_vh we use unfuddle for our repository and issue tickets. Really nice tool
openprivacy svn >> cvs
bryankennedy But it’s easy to weather mistakes with SVN
bryankennedy was kicked from the chat room by dcdc. (flood)
tcconway svn ftw
Lane thanks all
scor__ bryankennedy: what happened?
Lane that’s very helpful
Moonshine_ Lane: what os for dev?
bryankennedy posted too much
bryankennedy ooops
openprivacy ubuntu
Lane linux (CentOS 5) and Leopard
bryankennedy Sound like we could have an entire session on version control strategies for Drupal.
scor__ bryankennedy: submit a BoF!
sceo bryankennedy +1 yes and I would definitely go
bryankennedy BoF?
lladnar1 I still struggle with keeping database changes in svn
edeloso anyone had luck with versioning and changes to the database for modules that use a content type built with CCK?
lladnar1 Staging and deployment… I’ll be there
Moonshine_ Lane: In Leopard I use Subversion that’s built right into Komodo and SCPlugin for the finder
Lane Moonshine_: Thanks.
bryankennedy lladnar1: yeah totally
alaken can anyone recommend a how-to for this branch mergins stuff
lladnar1 Anyone have a good answer for database structures and confit settings?
roginald for a recap of last year’s dev/stage/build talk there is a video of the session here:
bryankennedy lladnar1: this one helped me at one time –
lyricnz what’s the link to Sacha’s pages again?
lyricnz notes for this session, that is
vasi i would LOVE a VCS BoF
vasi btw, i recommend that people learn how to use the command-line for version control….
bryankennedy make sure to svnignore your sites/default dir so you don’t put your DB pass in your version control
msonnabaum yay bash
openprivacy we rename settings.php to and commit that to the SVN repos; then create a 2 line settings.php that includes and sets the $db_url
openprivacy you can also create any other local overrides into the settings.php file
sceo ^^ any of those apply?
vasi openprivacy: yeah, we do that too
vasi we call it ‘settings-private.php’
vasi and then we have tools that check if there’s a settings-private.php nearby, and will read it to autodetect the db/user/password
vasi makes dump/restore much easier
openprivacy since we do multisites for every project (Dev/QA/Live) I wrote a pushdb script that moves databases between them, changing all the appropriate values – doing dumps of the from and to DBs first
tcconway what’s the tag?
openprivacy it parses settings.php for the db_url
tcconway vimpirator
nick_vh aegir
vasi AEGIR
nick_vh real nice tool for lot’s of sites
tcconway geben
openprivacy I haven’t got geben working yet
tcconway what’s her blog url?
vasi we just have VirtualDocumentRoot /var/shared/sites/%-3/site/
nick_vh unfuddle
vasi and then you checkout a site inside /var/shared/sites/
nick_vh really really good!
lyricnz has script to upgrade modules between versions, when module is under SVN control – which determines local patches, makes upgrade, reapplies patches, does svn add/delete as required. Maybe that’s useful to someone
japerry definitely good!
vasi and it appears as
sceo I think
vasi blog url:
vasi basically with VirtualDocumentRoot, you don’t need vhost
tcconway quote of the session: “Spaces, no tabs. Spaces, no tabs”
vasi entab/detab \o/
openprivacy coder will mark those
lyricnz Sacha ftw
tcconway agreed.
msonnabaum haven’t tried Drush for running update.php, but here’s a kinda ghetto bash script I wrote to run it:
danblah w00t for ghetto bash cripts
sceo1 is now known as sceo.
ccalnan for those who want to know about install profile
vasi does anybody use a local DNS?
vasi i’ve been thinking of doing that for staging….so i can see what a site will look like with the final domain
tcconway I *kinda* do…I take advantage of MAMP Pro’s local dnsin’
vasi ah
nick_vh another handy url
bryankennedy great session
vasi who’s emailing the log?
scor__ vasi: I will

Totally Rocking Your Drupal Development Environment

DrupalCon Day 1: Notes and Links from March 4, 2009

March 5, 2009 - Categories: drupal

Building APIs that Rock
Jeff Eaton

More than 400 people packed into the Acquia Room to hear Jeff Eaton talk about APIs, a surprising number considering the early 9:00 start. Jeff talked about the importance of designing a module so that other modules could use it through code instead of through the user interface. He gave a number of examples, including how Views is divided into the API and a module that adds a user interface on top of the API. Great stuff. Pay close attention to the deadly sins of APIs towards the end of the attention, where Jeff outlines common errors and how to avoid them.

…and all of it was presented in a lively manner, with frequent interjections from a co-presenting puppet! Check it out.

Keynote: Dries Buytaert talked about the history of Drupal and where it’s going. Highlights: Picture of Dries when he started Drupal, complete with sombrero and chess board.


Totally Rocking Your (Drupal) Development Environment
Sacha Chua

Around three hundred people attended my session on Totally Rocking Your Development Environment, which consisted of a 40-minute whirlwind tour of my favorite Drupal development tips, and a free-for-all session where people shared their awesome tips too. It was lots of fun! People told me that they enjoyed the energy AND they walked away with a couple of tips that could save them hours of effort and frustration. Hooray!

Session description
IRC backchannel log, Stephane Corlosquet
Outline notes, Jeff Schuler (who did an excellent job at capturing audience tips, too!)
Video, Alan Doucette

Totally Rocking Your Development Environment – also covered mostly stuff I knew, but I did learn a few tips (and also learned a little from my next door neighbor. It was a great talk by an incredibly enthusiastic speaker. I can’t believe though, that she suggested using Makefiles for Drupal!

DrupalconDC Report #1, Michelle Murrain

Handling Asynchronous Data with Drupal
Josh Koenig

Josh Koenig gave a quick demo of how to use Drupal.behaviors to contextually modify webpages using Jquery. Using contexts allows you to make it easy to embed behavior (ex: node edit form) within other elements, like a thickbox.

Session description
Presentation and examples

Advanced Theming Techniques
Trevor Twining and Bevan Rudge

This promised to be quite interesting, but it got derailed halfway through. =| I did pick up a few tips about using preprocess functions as much as possible instead of copying and pasting theme code to override things.

Session description

Business Analytics with Views
Frank Febbraro, Irakli Nadareishvili

Frank and Irakli demonstrated upcoming features that make it easy to summarize and graph data using views. You can configure this module to use the FlashCharts, AmCharts, or Google Charts engine. Interesting! =)

Session description

Boosting Our Raw Capacity to Provide Drupal Training
Sean Effel, Allie Micka, Lee Hunter, and Alex Urevick-Ackelsberg

Sean started by emphasizing that different learners have different skill levels, interests, and needs, and that by addressing those specific needs, we can help people not only use Drupal but also get ready to contribute to the community. He talked about his approach at, where he coaches people on Drupal. He shared the core curriculum he’s figured out, but said that as people move beyond that, people have specialized needs.

Barry talked about the lab hours that his company offers to people who have subscribed to the program. It’s a code clinic where the company helps developers and users with their systems. It’s not open to walk-ins from the street; people have an existing relationship with the company, and that allows the company to provide more targeted help. At the beginning of the session, everyone shares what questions they’re working on. They split up to work on the tasks individually or in small groups. At the end of the session, they wrap up by sharing what they learned, what they didn’t learn, and what kind of follow-up they have planned. The company shares post-session wrap-ups on their website.

Alex talked about how his company strongly believes in training both their developers and salespeople to contribute back to the community. Their training is modeled on the Google Summer of Code, and new employees start off by working on some outstanding tasks. They also give their employees 20% time to contribute to Drupal, often on projects that the company selects. They find that community contribution is a great way to vet people both before and after they join the company.

Lee posed two koans: If you document the software, you’re doing it wrong. Also, put the cart before the horse. He meant that a lot of documentation focuses on the features and the interface of the software instead of what the users want to do, and that writing the documentation before developing the system is a surprisingly effective way to work.

Session description
No video recording

Presentation Zen: Visualization of the credit crisis

March 5, 2009 - Categories: speaking

Kudos to Garr Reynolds of Presentation Zen for finding this animation by Jonathan Jarvis that explains the credit crisis:

The Crisis of Credit Visualized from Jonathan Jarvis on Vimeo.

As W- says: “Nicely done! The credit crisis sucks, but this was nicely done.”

Maybe someday I’ll learn how to tell stories using these techniques…