This site is archived.

Programmer

Making of a Full flash front-end for luxury e-commerce

drico's picture
Submitted by drico on Thu, 07/17/2008 - 20:49.

Session recording

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

Overview
We propose to show you the making-of boucheron.com, an e-commerce Drupal website we've built for two years, with a full Flash front-end. We'll also present some bits of the specific backoffice and how in/out dataflow works.

Agenda

* Flash and drupal, how to make them talk together
* Used modules for ec-commerce
* Creation and extension of e-commerce modules
* Creation of the backoffice
* Integration with others informations system : ERP, CRM, AS400

Goals

Understanding the building parts by parts of a successful e-commerce service in an international context using flash for a luxury user experience.

Resources
* ecommerce website
* company data flows

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

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

Ubercart in Drupal 6

Ryan's picture
Submitted by Ryan on Thu, 07/17/2008 - 17:30.
Co-presenters: 
Placement
Session time: 
08/28/2008 - 11:00 - 08/28/2008 - 12:00

Overview

Ubercart is well on its way to a Drupal 6 release (codenamed Uber Tuber). As of this posting, 26/32 modules have been migrated. However, these are quick API migrations without a lot of retooling that would drag out the update process. Uber Tuber will be similar in functionality to the 1.0 release, just compatible with Drupal 6 and sans a few external dependencies.

As was laid out in our development roadmap, we're planning further core improvements and Drupal 6 API updates for a 3.0 release. We have a good idea of what many of these improvements should be, but we want to do some serious brainstorming with other developers and themers with some planning toward actual implementation. We're excited about the new features Drupal 6 brings to the table and can't wait to fully embrace them in Ubercart.

As such, we invite anyone to attend who is interested in Ubercart on Drupal 6 or has knowledge of how the core changes from Drupal 5 to Drupal 6 might benefit Ubercart. We also aren't ashamed to admit that many of our core systems have proven less helpful for developers and themers than we initially imagined. As such, anyone who wants to see changes in the Ubercore should attend and provide feedback on how things can be easier.

Please see the "Optimization" paragraph related to Drupal 6 in the development roadmap for more information.

Agenda

* Update on the current status of Drupal 6 development.
* Discuss core Ubercart API improvements.
* Discuss theming improvements:
   - General core improvements
   - Updates for improvements in Drupal 6
   - Address invoice templates
   - Anything else?
* Discuss performance improvements:
   - Using 'file' for menu items
   - ... ?
* Discuss internationalization improvements:
   - Country/zone system overhaul
   - VAT!
* Discuss improvements in the contribution process.

Goals

Drupallers who attend this BoF will get up to speed on the state of Ubercart development in Drupal 6. Further, we'll be planning many improvements for Ubercart that will be worked into Ubercart 3.0 and recruiting as many people as possible to help in the work!

Resources

* Ubercart 2.x-dev - http://drupal.org/node/280820
* Development roadmap - http://www.ubercart.org/forum/development/5115/...
* Migration status - http://support.ubercart.org/discuss/67/...

Related sessions

Drupallers looking for a more general introduction to Ubercart should consider attending Introducing Ubercart instead. Most of the features will be the same for Ubercart 2.0, so that session should prove more helpful!

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.

* This session was posted as a BoF but could be turned into an actual session with enough interest. We would keep the tone informal, but could reach a broader audience with the larger space if necessary.

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.

Developing for e-Commerce

fgm's picture
Submitted by fgm on Tue, 07/15/2008 - 21:37.

Overview

The e-Commerce suite of modules (EC) is one of the largest parts of contrib. It is fairly hard to extend, and its main devs are having a hard time evolving it and updating it at the same pace as core.

For most implementers, EC is a turnkey solution, that can work or (too often ?) not, but is not often extended because of its complexity, and possibly the time zone issues with the main developer being located in Oceania whereas most Drupal contributors seem to work in Europe or northern America.

The goal of the session is to identify ways to improve the general experience with EC, by allowing developers wanting to work with/for EC to do so.

Agenda

* Understanding the general operation of the EC suite
* Knowing when to extend EC
* Knowing how to extend EC
* Knowing how to theme EC

Goals

The goal of the session is to enable wannabe EC devs to enter the game, and tempt others who previously renounces to come back to EC.

Resources

Having read the "core" EC source code (product, store, cart) prior to the session would probably go a long way towards making the session helpful for all.

Which version ?

I'm currently planning the session to be based on the (currently alpha) eC 4. Please comment on the proposal if you think we should remain on eC 3 (or for whatever reason).