= Drupal = The Transition Network uses the [[https://drupal.org/about|Drupal]] software to drive and develop our website. Drupal is a [[https://en.wikipedia.org/wiki/Content_management_system|Content Management System]] (or [[https://en.wikipedia.org/wiki/Content_management_framework|Content Management Framework]]). Drupal is powerful, and can be very complex. The way we use it is quite complex. We use it because, carefully used, Drupal can help create a website that is tailored perfectly for our use, and is easy for an ordinary (non-technical) user to understand and work with. The most important characteristics of Drupal to grasp are: * '''Drupal is like a pile of Lego'''. It doesn't do much "out of the box". Modular nature = build a website which is tailored to suit the way you work. * '''Modules - add and extend functionality'''. Drupal is made up of a bunch of required and optional Modules. And there are thousands more available at Drupal.org to add extra fanciness to your site. * '''Define your own content types'''. You decide exactly what types of content your users will add, and create the forms that let them. * '''Create "Views" to display content'''. Want a blog feed? Want a sidebar showing a list of articles related to the current story? The "Views" Module is a powerful query-builder that lets you grab anything you like from the database and display it exactly how you want. * '''Show extra information using Blocks'''. !WordPress has Widgets. Drupal has Blocks. They're for showing "extras" alongside your main content - navigation menus, a blog-roll, a Twitter feed, or just a small bit of custom content. The Views Module can be used to create Blocks too. * '''Menus for navigation'''. Drupal ships with a menu system for creating hierarchical navigation and site structure. * '''Pick a Theme, for look and layout'''. A "Theme" is the HTML, CSS and basic logic that defines the way your website looks and is laid out. Themes (off-the-peg, or coded from scratch) include "Block Regions", into which site admins can place any available Blocks. * '''"Context" and "Panels" - layout for pros'''. Drupal's tools for managing Blocks get tricky to work with if you've got hundreds of Blocks, or need complicated rules to decide where and when a Block should appear. So we have the Panels and Context modules, which help us build smart, dynamic layouts. * '''Get Users involved and control what they can do (with Roles)'''. Users can create their own User accounts, and Drupal's Roles system gives you fine-grained control of what different groups of Users can do. * '''Export and Manage Features'''. When the things you've built with Drupal get complex, you can wrap up bundles of functionality into a "Feature". This makes it easier to copy a fully-functioning system like a blog (made of a Content Type, some Views, some Menus and Blocks) from one site to another. * '''Do all the above with NO programming knowledge'''. This is the most unique aspect of Drupal, the fact that nearly all these things above can be built without needing to be a programmer. It's all done through point and click. This puts the development of powerful websites within the capabilities of non-technical people. See how it all fits together: [[HomePageExplained|Transition Network Homepage explained]]