This site is archived.

Lecture style

Using Node Access

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

Session recording

Co-presenters: 
Placement
Session time: 
08/29/2008 - 15:00 - 08/29/2008 - 15:45

Overview

This session, run by the authors of Organic Groups and Domain Access, will give an introduction to the workings of Drupal's node access system.

Agenda

* What is Node Access?
* How does it work?
* What modules provide node access?
* Exploring the current API
** Enabling node access
** Defining access realms
** Defining access grants
** hook_node_access_records()
** hook_node_grants()
** db_rewrite_sql()
** Changes from D5 to D6
* Common problems and issues
* Best practices for using node access

Goals

New users should come away with an understanding of the features and limitations of the node access system. Programmers should come away with the ability to write a node access module, using the existing API. Everyone should come away thinking about how to make the system better.

Resources

See the node acccess example module for background.

Using the Code Review module

stella's picture
Submitted by stella on Thu, 07/17/2008 - 17:54.

Session recording

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

Overview

The Code Review module (aka coder) is a useful tool for module and theme developers. It allows developers to ensure that their code meets the Drupal coding standards and also assists them in upgrading to newer versions of Drupal. If you write or maintain code (mostly modules, but themes too), you should be using this module.

Agenda
* Discussion of Common Style Problems that Coder identifies for you.
* We’ll run Coder on a module.
* We’ll show how to setup Coder to run it on ALL your modules.
* Overview of using Coder for upgrading modules to Drupal 6, including some examples.
* How to submit coder rules and help make Coder better.
* Floor Discussion on the direction Coder should take.
* Q&A session.

Goals
By the end of this session, attendees will have a good grounding in what the Coder module does and how they can use it to improve their modules / themes.

Resources
Attendees should already be familiar with basic Drupal module development.
* Coder project page - http://drupal.org/project/coder
* Drupal Coding Standards - http://drupal.org/node/318
* Converting 5.x modules to 6.x - http://drupal.org/node/114774
* Writing Coder Rules - http://drupal.org/node/144172

Introducing Ubercart

Ryan's picture
Submitted by Ryan on Wed, 07/16/2008 - 16:57.

Session recording

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

 
Introducing Ubercart:
Where it is and where it's headed...

Overview

Ubercart is an exciting e-commerce module package for Drupal. It is a flexible, easy to use system that is already working across the web to sell physical goods, file downloads, site memberships, node access, and much more! This session will be all about exposure... presenting as much of Ubercart to as many new (and experienced) users as possible. The nature and size of the module package means there is always more to learn and share, and we couldn't be more excited about the rapid pace of the Drupal 6 migration.

The session will briefly cover the project's history, basic feature set, and points of integration with Drupal and other contributed modules. It will then showcase some of the advanced features Ubercart provides with demonstrations for setting up dynamic shipping quotes, selling paid file downloads, and selling role promotions. Each of these will be accompanied with real life use cases and demonstrations on live sites where possible.

The formal session will wrap up with a word about Ubercart's development roadmap. In Drupal 5, a foundation was laid in both code and community development. In Drupal 6, we'll focus on optimization - refining the core, making it easier for developers to contribute, and taking advantage of Drupal 6's updated APIs wherever possible. Work on a D6 compatible Uber Tuber is well underway and will be reported on in this session.

If times permits, the session will close with a question and answer period.

As always, the developers are available after the session for further inquiries and are always interested in meeting new people. Feel free to stop any of the Uberdevs in the halls for a word or a high five.

Agenda

* Brief history of Ubercart.
* Ubercart features overview.
* Integration with Drupal core and contributed modules.
* Configuration demonstrations and examples:
  - Advanced shipping with Workflow-ng
  - File downloads
  - Role promotions
  - Setting up PayPal
* Development roadmap for Drupal 6 and beyond.
* Q/A if time permits.

Goals

Session attendees should leave with a broad understanding of what Ubercart is and what it enables them to do. Attendees will gain an initial familiarity with various parts of the administrative interfaces through the demonstrations, and they should know where to go to find help when they start their next Ubercart project. Finally, everyone will be brought up to speed on the current state of Ubercart development and find out how they can get involved!

Resources

* Ubercart project page - http://drupal.org/project/ubercart
* Community site/support forums - http://www.ubercart.org
* Documentation - http://www.ubercart.org/docs
* Live sites directory - http://www.ubercart.org/site
* Livetest (front end demo) - http://livetest.ubercart.org
* Admin demo - http://demo.ubercart.org
* Development roadmap - http://www.ubercart.org/forum/development/5115/...

More resources to follow... check back for updates!

Related sessions

Drupallers interested in more of the Drupal 6 work should consider attending at least the first part of the Ubercart in Drupal 6 session.

We'll also be performing A Hands On Guide to Module Development in which we will discuss the things we've done wrong and are starting to do right in module development. The session will include an example of developing a module that integrates with Ubercart.

Creative cross-language MySQL Programming

LenZ's picture
Submitted by LenZ on Wed, 07/16/2008 - 12:23.
Co-presenters: 

Overview

Although MySQL is sometimes perceived as a minimalist DBMS, it has a huge potential for creative hacks. The Federated and Blackhole engine, MySQL Proxy, user variables, and some other hooks allow the imaginative developer to achieve impressive results independently from the client's programming language.

MySQL is commonly perceived as a feature poor DBMS. That may be true if you are looking for specific functions or behavior as found in popular commercial database. While lacking 1 to 1 features, MySQL has a flexibility that allows users to achieve the wanted result with a workaround or some settings. But MySQL has much more. Its modular architecture offer to the user a number of creative ways of implementing features, which is sometimes more powerful and affective than the built-in feature of competing databases.

Agenda
In this session, I will show some creative ways of taking advantage of MySQL hidden pearls, regardless of the programming language used in your client.

  • Creating custom loops (with MySQL Proxy, with the event scheduler, with Blackhole and cross-joins)
  • Creating persistent user variables, either global or user-restricted
  • Pushing the limits with Federated tables (multiple triggers, executing remote commands);
  • Creating features with MySQL Proxy (customized logs, pivota tables, checking user quotas);
  • Using combinations of all the above to achieve unheard of results (e.g. using compressed tables with the efficiency of normal ones, checking passwords strength, downloading and uploading BLOB files, and much more )

Goals
Your imagination is the limit! This session will just give you the raw material and some ideas to get you started.

MySQL Backup and Security - Best practices

LenZ's picture
Submitted by LenZ on Wed, 07/16/2008 - 02:07.

Session recording

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

Overview
The MySQL Server is a very widely used open source database system and often used as the storage backend for Drupal sites.
Creating backups and maintaining a secure installations are two very common tasks for any Drupal administrator.

In this talk, Lenz will provide useful hints and suggestions on how to improve the security of a MySQL installation and how to properly perform backups of the databases and tables. The session will cover both tools that are included in the MySQL server/distribution as well as common tools/facilities provided by the operating system (Linux in particular).

Agenda

  • Improving MySQL Server security
    • On the server side
    • On the OS level
  • MySQL Backup methods
    • Logical
    • Physical

Goals
Users attending this session should take home some useful hints on how to secure their MySQL installations and how to perform proper backup.

High availability solutions for MySQL: An Overview and practical demo

LenZ's picture
Submitted by LenZ on Wed, 07/16/2008 - 01:56.

Session recording

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

Overview
MySQL is a popular open source database system and often used as the backend for Drupal installations. This session will give an overview about different solutions and technologies available to make a MySQL Server system highly available.

After the theoretical part, a practical demonstration of a HA cluster for Drupal will be performed. With the help of Red Hat Cluster Suite, we will build a HA solution using MySQL replication. If time permits, we will then extend the solution to use shared storage device.

Agenda

  • Introduction to HA, Terminology and general concepts
  • Overview: MySQL HA solutions
  • Replication: Topologies
  • Heartbeat, Block device replication (DRBD)
  • Shared storage/SAN
  • MySQL Cluster
  • MySQL Proxy
  • Open HA Cluster
  • Red Hat Cluster Suite (incl. practical demonstration)

Goals
Attendees will gain more insight into how MySQL Server setups can be made more fault-tolerant and how to ensure high availability. The practical part will provide an insight into how the RHEL Cluster Suite works, what you need to build a High Availability solution and configuration basics.

Building Facebook Applications using Drupal

Dave Cohen's picture
Submitted by Dave Cohen on Mon, 07/07/2008 - 20:05.

Session recording

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

Overview

The Facebook Platform allows anyone to create applications which tightly integrate with the Facebook.com website. These Applications can write content to a Facebook user's Profile, News Feed, and also Canvas Pages. This content can be as rich and complex as any website, so Drupal is a natural choice for developing on this platform.

This session will introduce the Drupal for Facebook project, and the best ways to use it. We will include a demo of one or more live Facebook Applications powered by Drupal and show some of the basic configuration behind them. And we'll discuss some of the differences of developing for Canvas Pages versus regular web pages.

Agenda

* Brief introduction to the Facebook API
* Brief introduction to Drupal for Facebook
* Demo of live Facebook Application
* Behind the scenes configuration of that Application
* Canvas Pages (FBML) vs. HTML
* Question and Answer

Goals

This session will give a basic understanding of the Facebook Platform for those new to it. We'll talk about why one might make a Facebook Application a part of a Drupal-powered website; or why one might build a Facebook App from scratch using Drupal.

We'll also demonstrate how the Drupal for Facebook modules work. Those familiar with Drupal will leave with a sense of how easy (or difficult) it will be to configure one of these applications.

Resources

* Facebook Platform
* Drupal for Facebook project
* Drupal for Facebook canvas pages
* Drupal for Facebook HTML pages

Slides
http://www.drupalforfacebook.org/book/export/s5/1074

Drupal Databases: The Next Generation

Crell's picture
Submitted by Crell on Sat, 07/05/2008 - 19:49.

Session recording

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

Overview

Drupal 7 will feature a newly rewritten database layer providing improved database abstraction, portability, and scalability features. This session will cover the thinking and architecture behind the new layer, with an eye toward understanding how it fits into the larger scheme of high-performance Drupal sites. There will be some discussion of code, as well as words of advice for others looking to revamp one of Drupal's core systems.

There will be some code in this session, but you should not need to be a hard-core coder to follow it. This session will also serve as a lead-in to this code track session, which is aimed more at programmers.

Agenda

* Database abstraction: Why it's hard and even an unsolvable problem.
* The old Drupal approach, and why it's not good.
* The new Drupal approach, and why it's awesome.
* Leveraging the database on your own deployments.
* Request for feedback on some of the more big-iron-targeted parts of the new feature set.
* Recommendations for other core developers on how to (not) revamp Drupal subsystems.

Goals

After attending this session, you should have a good idea of ways to leverage the new, modernized database system for your own sites as well as how to go about making major changes to Drupal's infrastructure.

Resources

Knowing the basics of SQL servers before attending would be a good idea, for context.

Page serving and rendering (XHTML/XML/JSON, etc.) - now and Drupal 7

pwolanin's picture
Submitted by pwolanin on Thu, 07/03/2008 - 23:29.

Session recording

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

Overview

This session will discuss how Drupal finds and renders pages. In other words, how a Drupal path (like node/4) is used to deliver a page to your screen. This will be a high level discussion, but with some reference to implementation details.

Agenda

  • Overview of the menu system architecture
  • The flow from request to page rendering in Drupal 6
  • Page rendering in Drupal 7
  • Alternative page renderers - e.g. XML and JSON
  • What we've enabled, what's left to do

Goals

This session should give the participant an overview of how these central Drupal systems work in Drupal 6, and how they may change in Drupal 7. We will focus on how page rendering may change, and what other advances those changes enable.

Resources

It would be helpful to have a basic familiarity with how pages are defined using Drupal 6 hook_menu, and what a Drupal path is.

Dos and Don'ts for Designing in Drupal

demet's picture
Submitted by demet on Thu, 07/03/2008 - 00:25.

Session recording

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

Overview

This session will focus on strategic tips and tricks for creating visually stunning and highly functional Drupal sites in collaboration with creative partners and colleagues. We will discuss various dos and don’ts associated with designing for Drupal and building custom Drupal themes.

Agenda

* What best practices should you follow when designing for Drupal or building Drupal themes?
* How to communicate with in-house and external design teams when building sites in Drupal
* What’s a good process workflow for building Drupal themes?
* What things can you do to make your life easier when developing Drupal sites? What things will make your life more difficult?

Goals

The goal of this session will be to help people involved in Drupal theme development and/or creating designs for Drupal sites understand the unique challenges of the system and learn how to develop a good workflow and set of best practices that will enable them to create sites that work and look their very best.