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
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
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
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
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.
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
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.
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.
Goals
Your imagination is the limit! This session will just give you the raw material and some ideas to get you started.
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
Goals
Users attending this session should take home some useful hints on how to secure their MySQL installations and how to perform proper backup.
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
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.
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).