(Up to date as of 2012-12-28)
Drupal core
Drupal.org naturally runs on Drupal (or, more specifically, a high-performance distribution of Drupal called Pressflow).
We are using the following Drupal core modules:
- Aggregator - Aggregates syndicated content (RSS, RDF, and Atom feeds). Used to power Planet Drupal.
- Book - Allows users to structure site pages in a hierarchy or outline. Used to create the Documentation section.
- Comment - Allows users to comment on and discuss published content. Used in the forums and issue queue.
- Contact - Used for the Drupal.org contact form and users' personal contact forms.
- Database logging - Logs and records system events to the database.
- Forum - Provides the Drupal.org forums.
- Menu - Standard Menu administration module.
- Path - Provides friendly URLs like, for example, http://drupal.org/handbook/modules/path.
- Profile - Powers our user profile pages and user listing pages.
- Search - Basic search framework that Apache Solr hooks into.
- Syslog - Logs and records system events to syslog.
- Taxonomy - Taxonomy is used in a number of places around the site, including the forum, documentation, downloads, and the issue queue.
- Update Status - Standard administration module that notifies if modules, themes, or Drupal core is out of date.
- Upload - Allows users to upload and attach files to content. Required by Comment upload and Drupal.org custom modules.
Contributed modules
We also use the following contributed modules (more or less the order at /admin/reports/updates to facilitate easier updating of this list):
- Apache Solr Multisite Search - Allows searching for content across multiple sites (e.g. association.drupal.org, groups.drupal.org) with Solr.
- Apache Solr Search Integration - A framework for searching with Solr. Powers our search and our project browsing pages.
Sub-modules: Apache Solr framework, Apache Solr search, User search - Autoload - Utility module required by various other modules used.
- Bakery Single Sign-On System - Allows your cookie from Drupal.org to automatically log you in to groups.drupal.org, api.drupal.org, etc. when you visit them.
- Beanstalkd Integration - Provides integration with a beanstalkd queue which is used for managing jobs related to the Git integration (e.g. creating new Git repositories when new projects are created, parsing Git commit information when Git commits are pushed, etc).
- BUEditor - Plain textarea editor used on various submit forms.
- Chaos tool suite - This is a requirement for Views Content Cache and our custom Drupal.org modules.
Sub-modules: Chaos tools - Code Filter - Provides formatting to code snippets in documentation pages, forum posts, issue queues, etc.
- Comment Alter Taxonomy - Allow users to alter the taxonomy terms of a node from a comment. Powers issue queue tagging.
- Comment Upload - Provide file uploads for issue comments
- Content Construction Kit (CCK) - Allows to add custom content types with custom fields.
Sub-modules: Content, Fieldgroup, File Field, Image Field, Link, Node reference, Number, Option widgets, Text, User reference - DBTNG - Backport of the Drupal 7 database abstraction layer, used as a query builder by Version Control API.
- DFP Small Business (Google Ad Manager) - Handles advertising listings on pages such as the home page and documentation pages.
- Diff - Provide comparisons between node revisions such as this.
- Drupal Queue API - Backport of the Drupal 7 Queue API, required by Beanstalkd Integration.
- Facet API - Provides faceted search results.
- Fasttoggle - Enables fast toggling of binary settings such as the state of the node (published/unpublished).
- Features - Used for various custom Drupal.org features, such as Book listings, Case studies, Changenotices, Marketplace.
- Flag - Provides "follow" flags for issue pages.
- Flot - Used to display graphs on the project pages and metrics page. Required by Drupal.org metrics and Views Sparkline.
- Forum2 - Enables faster and more scalable forum listing.
- Google Analytics - Provides integration with Google Analytics statistics.
- Homebox - Provides the Dashboard functionality.
- Honeypot - Deters spam bots from completing forms.
- HTML5 user geolocation - Powers the community map on the home page.
- Image - Powers Drupal.org's screenshot galleries, which in turn power the screenshots on project pages.
Sub-modules: Image, Image attach, Image gallery - ImageCache - Provides presets for image processing.
Sub-modules: ImageCache, ImageAPI, ImageAPI GD2 - jCarousel - Provides the jCarousel plug-in. Used on Case studies page.
- jQuery UI - Provides the jQuery UI plug-in to other Drupal modules. Used by Homebox.
- Local image input filter - Restricts files referenced by pages to those of files attached to them, replacing other image by the "error" image for security reasons.
- Materialized View - Materializes defined views of fields for scalability. TODO: Not totally sure where this is used.
Sub-modules: Drupal.org, Materialized view, Sources - Multiple E-mail Addresses - Allows users to associate multiple email addresses with their account.
- Paranoia - Locks down various administrative settings.
- Path Redirect - Provides an admin interface to set up redirects, such as from http://drupal.org/handbook to http://drupal.org/documentation.
- Project - Powers our module and theme download section.
Sub-modules:- Project - Provides a project node type and default browsing pages.
- Project package - Keeps track of what items are included in a given release. For example, provides the listing of which projects are included in packaged Drupal distributions.
- Project releases - Provides a release node type to represent releases of projects, the drupal.org packaging script, and the code to create the release history XML feeds available at updates.drupal.org.
- Project Solr - Provides integration with ApacheSolr for facet-based project browsing. Powers the project browsing pages.
- Project usage - Provides data about installed usage of projects. Powers the usage statistics pages.
- Project Dependency - Provides project dependency information, particularly for testbots.
- Project Git Instructions - Provides the "Version control" tab on project pages.
- Project Issue File Test (PIFT) - Powers a service that informs http://qa.drupal.org/ of patches waiting to be tested and updates issues with the results.
- Project issue tracking - Provides Drupal.org's issue queue.
Sub-modules: Project issue tracking, Project issue search index - Sampler API - Used to collect, store, and display metrics.
- SSH Key - Allows users to associate SSH public keys with their account (used to authenticate to Git).
- Tracker 2 - A high-performance replacement for Drupal core's default Tracker module. Powers the recent posts listing.
- Version Control API, Version Control API -- Git backend, and Version Control / Project* integration
- Views - Create customized lists and queries. Used pretty much everywhere. :)
Sub-modules: Views, Views UI, Views Field View, Views Litepager - Views Bulk Operations - Allows views to expose options for selecting multiple items and applying operations on them. Used for various custom administrative views.
- Views Content Cache - Provides a views cache plugin based on content type changes.
- Views Sparkline - Views style plugin for displaying results as a sparkline.
- Waiting queue
Custom code
Custom code is kept in the Drupal.org customizations project. This contains a set of modules with site-specific logic that doesn't make sense to put into the more generic contributed modules.
Sub-modules:
- Block: Pivots - Provides the "Related projects" block on project pages.
- Drupal.org - Customizations and tweaks for drupal.org
- Drupal.org cross-site functionality - To be used across all the subsites on drupal.org
- Drupal.org handbooks - Handbook related customizations used on Drupal.org.
- Drupal.org metrics - Customizations for /metrics page.
- Drupal.org news - Blocks and customizations related to Drupal.org news and Planet Drupal.
- Drupal.org Order Facets - Manage order-based facets for Drupal.org.
- Drupal.org project customizations - Drupal.org project functionality related customizations
- Drupal.org search - Drupal.org search customizations
- Drupal.org Version Control API integration - Customizations for Version Control API
- Drupal.org Git Gateway - Provides access control for using Git on drupal.org (e.g. the Git access agreement page on user profile pages)
- Drupal.org Git/Varnish Control - Provides a Varnish-cacheable alternative to drush for getting data necessary for Drupal.org Git SSH auth.
- Mailing lists - Mailing lists subscriptions services.
- Project verify package - drupal.org specific verification helpers for the project packaging system.
- Role activity - Activity for selected roles
Theme and branding
The theme for Drupal.org is called Bluecheese. You will notice that it is not available for download and use outside of Drupal.org. Visual identity brand is very important and to see from various past forum requests, many people believe that the current theme is striking. In order to preserve Drupal.org's 'brand' identity, Bluecheese will not be made available outside of the Drupal.org implementers team.
The Drupal wordmark was custom designed by Mark Boulton Design.