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
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.
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.
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).
Overview
iwanttospeak.net is a worldwide language learning community. From the initial idea to its beta launch only a few weeks passed. This shows Drupals power and flexibility in "rapid prototyping". The goals were: Possible support of all world languages (managed by the community itself), Private messages, Custom User Profiles, easy but failsafe geographical tagging of users for a worldwide proximity search, ...
Agenda
* Rapid Prototyping to speed up developement
* Customizing Themes and Modules
* Multilingual support
* Geotagging of Users and worldwide proximity search
* Usability improvements
Goals
During this session we want to share our experience using Drupals army of contributed modules for „rapid prototyping“. We also would like to discuss, which contributed modules are essential for developing websites with Drupal. We think that knowing a number of contributed „keymodules“ is absolutely essential for developing websites with Drupal.
We will show how we used the Bio module for collecting all user related information during the registration process and storing this information as nodes.
A key feature of iwanttospeak.net is the worldwide proximity search for users. We will show how we used Googles API for the geospatial information and how we use this information to calculate the distance between users worldwide.
iwanttospeak.net is currently available in 9 languages (including Russian, Hungarian, German, Italian). All translations were contributed by members of the iwanttospeak.net language community with little technical knowledge and no Drupal experience. We will demonstrate how we used i18n module and a slightly modified version of the Localization client Module to let users directly translate the interface.
Resources