This site is archived.

Lecture style

jQuery in Drupal, part 2: advanced

katbailey's picture
Submitted by katbailey on Wed, 07/23/2008 - 19:47.

Session recording

Co-presenters: 
Placement
Session time: 
08/29/2008 - 11:00 - 08/29/2008 - 12:00

Overview

In this second session on jQuery we plan to focus on Drupal-specific usage and also on more advanced topics such as effective debugging of js code and adding AJAX functionality.

Agenda

* How Drupal and jQuery relate to each other
* The Drupal js object
* AJAXifying Drupal with jQuery
* AHAH and Drag&Drop

Goals

By the end of this session, attendees will understand the fundamentals of how jQuery and Drupal work together; they will have learned some best practices regarding the use of jQuery in Drupal and be able to add AJAX, AHAH and Drag&Drop functionality to their modules (the latter two for Drupal 6 only!)

Resources

Prior knowledge of jQuery basics or attendance at the first session recommended. Attendees should also be familiar with basic Drupal module development.

Creativity and Programming

robeano's picture
Submitted by robeano on Wed, 07/23/2008 - 18:01.
Placement
Session time: 
08/29/2008 - 13:30 - 08/29/2008 - 14:30

Overview

Coding standards matter. Why? Because they free the mind to get to the more interesting bits of programming. Programming is more than just problem solving, and it is best when you can contribute patches and modules which provide the most elegant solution. With help from the audience, we can share our experiences of successes, rabbit holes, and hitting brick walls (and how to get past them too). This talk is aimed at programmers of all levels of experience.

Agenda

* Creative: it's not just for graphic and UX designers
* Code Quality: standards, coder, devel, api.drupal.org, code examples
* Creativity Killers: deadlines and budgets
* Rabbit Holes and Brick Walls
* Resources to Help You Stay on Track
* Further Reading and Recommendations

Goals

After participating in this talk, people will walk away with inspiration to write high quality code. In addition, more experienced programmers may take heart when seeing a beginner show their first contributions.

Resources

Recommended reading:
* coding standards - http://drupal.org/coding-standards
* http://api.drupal.org

Modules:
* devel
* coder

Drupal world domination: translating interface and content

Gábor Hojtsy's picture
Submitted by Gábor Hojtsy on Wed, 07/23/2008 - 15:40.

Session recording

Placement
Session time: 
08/27/2008 - 11:00 - 08/27/2008 - 12:00

Overview

There are numerous tools to help you translate the interface and content of your Drupal websites, and there are obviously (still) missing items in the implementation. This session will show off Drupal 6's capabilities and the latest developments with contributed modules, such as i18n module and l10n_client.

Agenda

* What do you need vs. what Drupal does
* How to get closer the two with core features and contributed modules
* Translating the interface live with l10n_client, contributing to an l10n_server
* Content translation, listing, filtering and administration
* What's missing, and where projects are going

Goals

I intend to provide you with an understanding on where Drupal core and the contributed modules fit with your needs and goals, and where should you still expect some custom coding required for your top-notch multilanguage site.

User Testing in Drupal

eigentor's picture
Submitted by eigentor on Wed, 07/23/2008 - 13:25.

Session recording

Placement
Session time: 
08/29/2008 - 13:30 - 08/29/2008 - 14:30

Overview

The formal user tests at the University of Minnesota and Baltimore have got quite some attention. They also had a common bottom line: Drupal is quite hard to get into for novice users.

We want to improve this. But how can we make sure we really tackle the major issues? And how do we find out if improvements are really improvements?

Repeated testing is the answer. Make sure to find out how the user experiences Drupal for our own attitude cannot be but biased. How is someone who is not accustomed to the workflow and UI able to perform a given task?

And how to make user testing fun? I'll try to depict how this can be done utilizing the
Usability Testing Suite (UTS).

Agenda

  • Tests in U of Minnesota and Baltimore: have there been reliable results?
  • A bit of theory: how is user testing generally carried out in other projects and companies
  • The Usability Testing Suite (UTS): A way to go?
  • A plan how to encourage and organize constant testing

Goals

Find a way to make user testing an asset to Drupal. Just like code testing has got a key role in Code Quality.

The talk will have an ensuing BoF to discuss the further steps in user testing. If we could come up with a plan that feels feasible, this would be wonderful.

Resources

Usability Testing Suite
In dev state,
maintained by boombatower

A Hands-On Guide to Module Development

Ryan's picture
Submitted by Ryan on Tue, 07/22/2008 - 18:10.

Session recording

Co-presenters: 
Placement
Session time: 
08/30/2008 - 09:00 - 08/30/2008 - 10:30

Overview

Drupal module development is a bit like playing Zork. Anyone can play the game, walk around a while, score some points, get eaten by a grue, and try again. Even the most stalwart adventurer will need some help if he is to seriously improve his game. Otherwise, he'll get fed up with Zork and return to playing Duck Hunt.

So it is with module development. You've setup a Drupal site. You've used some contributed modules. You've tweaked some to your liking and even written a couple from scratch... but you need to know how to improve your game before you get frustrated or waste all your time making the same mistakes. Yes... there are plenty of mistakes to be made, and we've made quite a few of them ourselves.

Expect more classic gaming references in this session, but more importantly expect to learn about the things we've done wrong and the things we're starting to do right in our Drupal module development (primarily Ubercart).

This session will be geared toward beginning and intermediate Drupal developers looking to learn more about the module development process and "best practices" that go beyond (but certainly include!) simple adherence to coding and security standards. We will cover the tools we use, the module structures we like to stick by, and how we make the most of our first pass at a module. More importantly, we'll look at code that works with some of the harder to understand parts of the Drupal API, and we'll look at writing modules that integrate not just with Drupal but with other contributed modules like Ubercart and Views.

Sounds like a lot, eh? We think so, too. However, we'll be presenting the information in the following format to try and disseminate as much knowledge as possible:

A Hands-On Guide to Module Development will be an informal lecture session where we say our opening words and move into a time of hands-on learning. Those with laptops can follow along with code examples as we work through the development of a module that demonstrates the topics mentioned above. We'll be accepting quick questions as we go along and use any time at the end to take more questions and hopefully provide some helpful answers.

As always, if we can't get to you in the session, feel free to stop us in the halls or find us around Drupaltown and get your learn on.

We're open to collaborators interested in the topic and the format. Interested developers should contact Ryan or Lyle (Island Usurper). If you just want to contribute your module development best practices, we'd love to have a nice happy list for folks to use as a reference coming out of this session.

Agenda

* Introductory words
* Getting ready to code - think first
* Where to start with a blank file
* Writing those first hooks and callbacks
* Writing smart functions
* Documenting as you go!
* Grokking some more Drupal hooks:
   - hook_form_alter()
   - ... (to be determined)
* Hooking into contributed modules:
   - Ubercart
   - Views
   - ... (to be determined)
* What to do when you're "done" ; )

Goals

Attendees should leave with a greater sense of what it takes to develop Drupal modules successfully. There's no way to pass on a comprehensive understanding of what we know or get to cover, and that is a subset of all there is to know about module development. However, every little bit helps, so we'll try to pass on as many little bits as we can!

We want to help move as many beginner developers as possible toward the intermediate level and entice those intermediate developers to become the experts we know they can be.

Resources

* Drupal 6
* http://api.drupal.org
* http://drupal.org/project/ubercart
* http://drupal.org/project/views
* http://www.infocom-if.org/downloads/downloads.html

We will include a downloadable zip of code examples for session attendees to use to follow along as we write the module, discuss the code, and discuss how we got there.

Attracting & Retaining Drupal Talent

Eric's picture
Submitted by Eric on Sun, 07/20/2008 - 23:29.

Session recording

Placement
Session time: 
08/29/2008 - 13:30 - 08/29/2008 - 14:30

Overview

Drupal's growth is exploding and business and organizations are struggling to meet the growing demand. This panel will discuss best practices on attracting & retaining Drupal talent during this time of rapid growth.

Agenda

*Tiffany Farriss from Palantir*
Tiffany will share stories about how Palantir's core values of transparency, collaboration and "fit" have enabled the firm to grow and embrace change over the course of its 12-year history. She will talk about how Palantir made the transition from a CMS-agnostic firm to a devoted Drupal shop. Topics will include: project selection, company culture, recruiting, professional development and community engagement.

*Robert Scales from Raincity*
Most drupal shops come to life out of the collaborative desire of a few people working together with hopes to build a stable work place! Raincity Studios is no different.

Scales will be speaking about growing Raincity from small collective to a multi-national firm with operations in 3 countries and a growing team of nearly 40 staffers.

A reflection on Raincity's past 5 years; from startup to building our Chinese operation, working with the community and acquiring Bryght in 2007... What can you learn from our mistakes and experience to help you become a more successful drupal service/product provider.

*Eric Gundersen on: make mistakes faster*
From two guys in a basement to a team and clients spread across two content, Development Seed has taken a MBA crash course over the past years. co-founder Eric Gundersen will share a 20 minutes brain dump covering how Development Seed has grown and grown and retained it's awesome team by being able to quickly learn form it's mistakes after each project. Eric will cover communications, management, and business process that help to make an awesome working environment, specifically:

* Finding work: How to position for the projects that people like to work on and the art of turning down work

* Doing work: Constantly refining the process from agile development and GTD systems to benefits of sitting around the same table

* Getting paid for work: contracts, client communications, and cash flow

This talk specifically targets anyone starting their own Drupal shop.

Goals

This presentation is intended to help build capacity among shops looking to grow or people starting their shops.

Resources
http://www.omnigroup.com/applications/omnifocus
http://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity/dp/01...

Panels - Today, and the Future

sdboyer's picture
Submitted by sdboyer on Fri, 07/18/2008 - 18:42.

Session recording

Placement
Session time: 
08/27/2008 - 11:00 - 08/27/2008 - 12:00

Overview

Over the past few months, we've seen a number of major drupal site rollouts that make extensive use of Panels2 (See, for example, http://drupal.org/node/241344 and http://drupal.org/node/242993). We've also seen a few modules implement the Panels API in rather different ways - most notably, Advanced Profile Kit and Organic Groups Panels - that hint at how flexible Panels can be.

We'll start this session by highlighting these different Panels implementations and providing a birds-eye view of how Panels' moving parts work. We want to make sure attendees have a good sense of what Panels2 can do now - because the second half of the presentation is all about the future of Panels - otherwise known as Panels3.

Panels3 isn't so much about changing the data model (that part already works pretty well) as changing the API and interface. One good way to think about this difference is to consider Panels2's limitations on who can use it. Right now, it's very difficult to scale down the power of Panels to a level that's appropriate for normal users. Panels3 aims to break down that barrier. We'll spend the remainder of the session overviewing some of the current plans for how Panels3 might do that, as well as noting attendee suggestions for some of the large-scale directions we might consider.

Agenda

* Briefly overview Panels2 to bring everyone up to speed on the most recent developments.
* Provide some concrete examples of ways that the Panels API is currently being implemented.
* Present some of the current plans for the future development of Panels
* Gather participant reactions to the proposed ideas, and take general input on possible directions to go as well

Goals

Participants should expect to leave the session with a grasp of Panels' capabilities in the present, and a sense of what to expect in the future.

Resources

None needed. Just bring yourself!

Node Templating

Lynn's picture
Submitted by Lynn on Fri, 07/18/2008 - 03:32.

Session recording

Placement
Session time: 
08/27/2008 - 15:00 - 08/27/2008 - 15:45

Overview

This session will focus on taking full control of node displays. It will be geared toward intermediate and beginner Drupal themers.

Agenda

* Using Devel module to build node templates
* Templating with Zen theme
* Creating clean and maintainable templates
* Adding and changing node variables
* Working with CCK and node templates
* Panels 2 for node displays
* Using custom node templates for views
* Customizing node component displays such as taxonomy and links

Goals

Attendees should leave the session feeling confident that they can template the most complex displays.

Requirements

Fluency in xhtml and a (minimum) beginner's level of php will be needed.

Spaces and Context Modules, Tools for Site Building.

jmiccolis's picture
Submitted by jmiccolis on Thu, 07/17/2008 - 18:46.

Session recording

Placement
Session time: 
08/28/2008 - 16:00 - 08/28/2008 - 16:45

Overview

The Context and Spaces modules are tools to make complex site building tasks easier. This session will cover the approach of the Context and Spaces suites, and show developers how they can be used and extended. The examples in the presentation will focus on 'Communities of Practice'-style online collaboration, Sites-within-sites, and Intranet projects.

Background

The Context suite provides a way of mapping various architectures on top of Drupal's components. Allowing developers to define what panels, views, content-types, menus, blocks, etc comprise the recognizable 'sections' of their sites. Spaces extends this concept by integrating with Organic Groups. This allows you to associate 'sections' with groups and provides a way to enabled and customize these features on a group by group basis.

Agenda

  • Introduction to Context and how it lets you map your client's IA to Drupal's IA.
  • Context_ui in practice, moving beyond admin/build/blocks.
  • Spaces for online collaboration, extending OG and giving groups the tools they want.
  • Using Context and Spaces to extend your site as a non-coder, in ways that non-coders couldn't do before.
  • Real live usage: Sites that use spaces to provide the right stuff for online collaboration.

Goals

To give developers and advanced Drupal administrators an idea of the advantages of using context and spaces on their projects. We'll review the standard set of problems the context and spaces aim to address and look at sites where it's been used.

Resources

http://drupal.org/project/context
http://drupal.org/project/spaces
http://www.developmentseed.org/tags/context-ui

A new aggregator for Drupal 7

alex_b's picture
Submitted by alex_b on Thu, 07/17/2008 - 18:42.

Session recording

Co-presenters: 
Placement
Session time: 
08/30/2008 - 09:00 - 08/30/2008 - 10:30

Overview

This session presents a replacement for the existing aggregator module in Drupal 7 core. It is not just geared towards coders but to anybody who's dealing with aggregation in Drupal. We'd like to show you what's exciting about the new aggregator, talk about new possibilities it opens up and ask you for your feedback.

Background:

Drupal core's aggregator module wasn't designed with a wide range of use cases in mind. It supports aggregation of RSS and Atom feeds to a configurable set of categories on your Drupal site. But there is much more that users want to do with aggregation in Drupal aside from simple news aggregation, e. g.:

* Import iCal feeds to events
* Import to complex content types with custom fields
* Support workflow, access control or commenting on feeds or feed items
* Import special feed formats like NewsML

These and other demands have lead to a plethora of aggregation modules in contrib land: aggregator2, leech, simplefeed, aggregation and feedapi are just some of them. Most of them satisfied specific use cases and failed to cover the wider field of scenarios, hence none of them made the breakthrough to being the prevalent solution.

After a first attempt with FeedAPI in 2007 Aron Novak did it again for Google Summer of Code 2008: he took on the task to come up with a solution fit to replace ye olde aggregator. The result is a simple yet extensible and efficient architecture that should serve us well as a basis for the coming years.

Agenda

* Give an overview over existing aggregation modules in Drupal and its properties
* Explain why a new aggregator in core is better than the module-that-fits-best out there
* Present architecture of new aggregator for D7
* Present important features and explain specific design decisions
* Real world examples of what the new aggregator does or enables us to do:
** aggregate lightweight feed items or nodes
** lazy instantiation of feed items
** high performance setups
** (more to be announced when presentation is ready)

Goals

* Give you a good understanding of what's in the box
* Get your feedback on specific design decisions
* Do another step away from "many similar incompatible modules that do the same thing but slightly different" towards "many compatible modules that give you more flexible and better options"
* Inspire you to think beyond the current boundaries in aggregation

Resources

This is not mandatory by any means, but if you want to prepare for this session, we recommend to

* Test drive the new aggregator: http://drupal.org/project/new_aggregator or http://drupal.org/node/236237 (patch)
* Read the architecture outline http://groups.drupal.org/node/12772
* Have a look at the code