Thanks
Welcome
If you're new to Drupal, we recommend starting here: What Is Drupal?
Or if you already have some Drupal experience, click the Explore button and learn something new.
What Is Drupal?
Drupal is a free, open-source content management system (CMS) with a large, supportive community. It’s used by millions of people and organizations around the globe to build and maintain their websites. You probably use Drupal every day without knowing it, as many top businesses and government organizations use Drupal, like the Government of Australia, Red Cross, Harvard, The Economist, BBC, NBC News, Whole Foods, Cisco, Twitter, and many, many more.
Drupal is open source software released under the GNU Public License. This means it has inherent benefits—cost, flexibility, freedom, security, and accountability—that are unmatched by proprietary software. For example, Drupal is free to download and anyone can modify and extend the platform. This ensures freedom from vendor “lock in” and it empowers users worldwide to monitor Drupal’s underlying code for compliance and security issues and fix them quickly.
Full of features and highly customizable
Drupal shines as a CMS. It provides a user interface that allows you to create and publish your content easily. The platform accommodates unlimited content types, including text and media content, with highly customizable forms. It dynamically retrieves, filters, and presents this content with powerful, yet simple-to-use tools. There are also intuitive content creation tools and powerful in-place editing tools. Drupal controls access to content and features with its sophisticated user role classification and permissions system.
All of the administrative and end-user-facing functionality in Drupal, from fundamental features, such as the ability to log in or create content to dynamic photo galleries and complex voting systems, comes from modules. What you download from Drupal.org is what is referred to as “Drupal core” and it comes packed with all of the most commonly used modules to build a site, but there is a huge variety of contributed modules, which thousands of developers make available for free on Drupal.org.
Drupal is also a powerful website development platform. Drupal adheres to modern object-oriented programming patterns, PHP best practices, HTML5 and YAML standards. It also incorporates other great web technologies, including CKEditor, Symfony2, Twig, jQuery, Backbone.js, and Guzzle. Extending functionality and gaining complete control over the design is accomplished through a robust assortment of add-ons in the form of modules and themes.
Learn Drupal
Drupal provides a lot of flexible tools for many different tasks, depending on your focus, from end users to developers. To learn more about the various building blocks and tools in Drupal, take a look at our guides.
Introduction to Drupal
If you are not already familiar with Drupal, you can learn more about basic concepts and terminology in this high-level introductory guide.
Site builder
Site building is the Drupal role that everyone who wants to build a site should know, as it's the core Drupal competency for site creation. Site building involves getting Drupal up and running, and configuring the options to build a functional site.
Themer/Front-end Developer
A themer, also known as a front-end developer, is the connection between the designer and the developer on a project. They’re responsible for the architecture and implementation of the user-facing parts of a web site. This includes working with HTML, CSS, JavaScript, and related technologies. Drupal themers also use some PHP in template files, and in Drupal 8, they use Twig.
Developer
Developers, also known as engineers or programmers, use their knowledge of PHP, MySQL, HTML, JavaScript, and CSS to extend, alter, and enhance Drupal by creating modules and integrating external services.
Community
In addition to being a great tool for building websites, one of the main strengths of Drupal is being one of the largest open-source communities, which creates the software, writes the documentation, provides support, and runs events all over the world. To tap into the true strength of Drupal and open source, the community is your best tool for making connections and accelerating learning.
Get started
Drupalize.Me provides the best Drupal training online, so you can learn anytime, anywhere. We are Drupal experts who have years of experience teaching others how to best use Drupal and the various related tools and technologies. Drupal is a big and exciting project to navigate, and we're here to help.
Ready to Learn More About Drupal 8 Theming?
Level Up Front-End Development Skills with Drupalize.Me
Learning the ins and outs of template design and how to get data from the CMS into your components are integral to mastering Drupal website layout. Whether your goal is to theme your personal site, pass the Acquia front-end developer certification, or upgrade your skills for a job, our Drupal 8 theming tutorials will add a key skill to your toolbelt.
Take your front-end development skills to the next level and learn Drupal 8 theming!
With our Drupal 8 Theming Guide, learn how to:
- Override and customize template files
- Implement layouts and regions
- Use Twig to create dynamic templates
- Add CSS and JavaScript libraries to your site
- Set up your site for theme development
- Create responsive image styles for optimized user experience
Select your plan and enter coupon code campsite at checkout.
Remote Workshops
We keep our workshops small to ensure there’s plenty of opportunity to get one-on-one help, and to network with other attendees. Join the waiting list for any workshop to get notified when workshops are scheduled and early access and special discounts when registration opens.
Testimonials from past workshops
Great balance between lecture, demos, and exercises. This is the best get-your-feet-wet-in-a-huge-subject workshop I've been to. It was a great transition from theming D7 to D8.
Julian Kittelson-Aldred
Very clear explanations of key concepts. Explaining how to track down which Twig file to modify for a particular part of the Drupal frontend.
Daniel Gillespie
I liked the instructions followed by hands-on coding. It made for a fun learning experience as well as reinforced my coder "winning" attitude. :)
Uzi Ashkenazi
Why Drupalize.Me?
Although Drupalize.Me is best known for our online video tutorials, and occasional public workshops, we have also been teaching private workshops for companies, universities, and organizations for years. Our team of experienced Drupal teachers are the best in the business and we've taught Drupal to thousands of aspiring Drupal site builders, administrators, themers, and developers. We've provided training to AAA, Turner Broadcasting, Red Hat, Best Buy, Stanford University, Penn State, Arizona State University, the U.S. Dept. of Commerce, and many, many more.
Custom training units can be created upon request. Please contact us if you would like more information about bringing Drupalize.Me's experts to you.
Hands-On Theming in Drupal
This workshop will familiarize front-end developers with Drupal's theme system through a combination of presentations, hands-on exercises, and group activities. Whether your goal is to theme your personal site, pass the Acquia front-end developer certification, or upgrade your skills for a job, our goal is to provide students with a solid foundation and enough knowledge to continue to practice and learn on their own.
You'll come away from this course knowing:
- How the Drupal theme layer relates to the rest of the system
- Common theming terminology and processes
- How to override any of Drupal's HTML output
- The relationship between base themes and sub-themes
- Everything you need to know about Twig when working with Drupal templates
- How to add both custom and third-party CSS and JavaScript libraries
- Tools for introspecting and debugging a theme
- Tips and tricks for using common front-end development tools like CSS preprocessors and task runners, in conjunction with Drupal
In addition to the real-time instructor-led workshop, attendees will also receive:
- Example code with extensive documentation suitable for use as reference material for future projects
- A PDF workbook with exercises, and solutions
- Access to pre-recorded explanations of the solutions for all exercises
- 1 month of free access to the entire Drupalize.Me tutorial catalog
Target audience:
- Individual developers who want to learn to customize existing themes, or create entirely new custom themes, for Drupal 9 and 10
- Teams of developers working together who have one or more themes that need to be upgraded for Drupal 9 and 10
- Anyone who needs a refresher on how Drupal themes work, or whose only experience so far is theming Drupal 7 sites
Assumptions:
Attendees should be familiar with HTML and CSS and understand how to administer content on a Drupal website. This workshop will be relevant for people who are new to Drupal theming as well as those looking to move from Drupal 7 to Drupal 10.
Details about what we'll cover
The workshop will be broken down into sections, and each section will consist of a combination of live presentation, hands-on exercises, and group practice activities.
Theming overview
In this section we’ll talk about the role that themes play in the creation of a Drupal site, get an overview of the types of things you can, and can not, do with a theme, go over the structure of a theme, and discuss theming specific concepts like regions, libraries, and inheritance.
Getting started with a new theme
In this section we’ll look at how Drupal uses *.info.yml files to collect metadata about available themes. Then, as an exercise we’ll create the foundation for a new custom theme, and discuss where the markup you see in a Drupal theme comes from. We’ll also walk through some things you can do when setting up your local environment in order to make theme development easier.
CSS & JavaScript libraries
There are a couple of different ways that you can add CSS and JavaScript to your theme, and we’ll walk through them while discussing the pros and cons of each. We’ll also look at how to use CSS preprocessors like Sass, and task runners like Grunt in conjunction with Drupal themes. Opening up the possibility to use a variety of existing front-end frameworks and libraries as part of your custom theme.
Overriding default markup
In this section we’ll examine Drupal’s use of Twig template files to generate HTML markup, and walk through the process of overriding that markup in our custom theme. We’ll look at how Drupal determines which template file to use, dynamic template file naming, and how to manipulate the HTML output in a template file.
Twig
Having a firm grasp of the Twig template language is essential. So we’ll spend some time going over the language’s syntax, look at how to print output, and use filters and functions to manipulate variables. Then we’ll walk through a couple of exercises that require using Twig to modify elements in our theme.
Preprocessing and more
In this section we’ll talk about using {theme-name}.theme files to add, and manipulate the variables available in a Twig template, and to conditionally add CSS and JavaScript libraries on only the pages where they are needed in order to increase page speed.
The Drupalize.Me API Site is Retired
Hello there, and thanks for visiting Drupalize.Me. We've retired our API site, as the original need for providing it has been removed by huge user experience improvements on api.drupal.org.
If you are interested in setting up your own API site, you can always use the Drupal API module to create a custom API reference, either locally or anywhere that is convenient to you.
Student Discount
Our team believes quality education should be accessible to everyone. If you're presently enrolled in a primary, secondary, or post-secondary academic program, you're eligible for a 40% discount on our Personal Memberships. This discount is available to all students, anywhere in the world.
Simply contact us, and attach a photo of your student ID or a recent class document. This document must include your name, recent date, and school name. We'll then reply with a coupon code for your new membership.
As the world’s leading Drupal training service, Drupalize.Me provides instant access to our curated, up-to-date library of premium written and video tutorials. We cover the full range of Drupal topics for novices to experts, along with a stellar support team to help you on your journey. What are you waiting for? Sign up today and start learning Drupal!
Promotion ended
Sorry! This promotion has now ended. But please subscribe to our newsletter, and we'll notify you of future promotions.
PSD to Theme FAQ
On January 14, 2014, Emma hosted a webinar. Although the recording is not available, we hope you find this follow up FAQ useful as a companion to her learning series PSD to Theme
Q: You mentioned Susy for the Drupalize.Me project. Why did you choose this framework? Did you consider any others?
A: We had originally planned to use Zen Grids for our framework, but our designer had already mocked up his designs with Susy. It would have been too time consuming to rebuild the working prototype with a different framework, so we decided to take the easy path and just switch our theme to use Susy. Note: prototyping is GREAT! This doesn't mean that you must use only one framework from start to finish. I just mean for our time line and resources, it was more efficient to stick with the same framework as the HTML prototype.
Q: What is the best Sass framework? Zen Grids, Susy, Foundation, Bootstrap...
A: Every single framework has great qualities about it. You should choose the one which feels most natural to you and/or your support network knows and uses. (Having access to help is important!) If you're not sure where to start, I recommend picking a base theme first, and then learning how to use the framework which comes with that base theme. e.g. if you pick Zen, choose Zen Grids as your grid framework for rapid prototyping. Do your research and talk to your team. They may already have favorites.
Q: If you have multiple designers working on a site, wouldn't everyone need to be using Sass/Compass?
A: I recommend having a text-based style guide which is separate from your theme (ideally your style guide would be built from your theme's files; but the technology is not ready yet). If you are using Sass, everyone working on the project must commit to all editing ONLY the Sass files (not the Sass and CSS files). There are lots of helper tools you can use to make building CSS from Sass a lot easier. We have a video series on Sass. If you're thinking about adopting Sass I highly recommend you watch the Sass and Compass video tutorials. There are ways you can include CSS edits in your theme, but this ends up being a headache to maintain long term. You're better to invest the time in getting everyone using Sass / Compass rather than spend the time later refactoring CSS files. (Unless you love refactoring based on git diff...whatever floats your boat!)
Q: I've heard setting up compass is really complicated, so I've avoided it. Any tips?
A: It's not that hard, promise! We cover installation instructions in the Install Compass video. If you prefer a GUI, we cover that too! You can watch the Install Scout video.
Q: What was the name of your book?
A: Front End Drupal (covers Drupal 6). Drupal User's Guide (covers Drupal 7).
Q: If Photoshop isn't the best tool from design to front end, then what is?
A: Photoshop is the PERFECT tool for designers who think best with Photoshop. Some prefer pencil and paper to make their ideas....the IDEA CREATION tool is up to the designer. Photoshop is not always the best tool for mock-up approval with stakeholders as it does not allow you to prototype (or demonstrate) how components will behave in the context of one another. We liked working in components instead of pages. This way the designer could quickly mockup how a component looked in a specific context; rather than this is how an entire page worked at a width of 799pixels, 798 pixels, 797 pixels, 800 pixels, 801 pixels (you get the picture, right?). We need to think about the process though when choosing formats. Designers may do their best creative work in Photoshop, but then ... somehow ... we need to convert that to a theme. I think the best tool for this is a TEXT-based description of the components with screen shots (or little square images) of how that component looks in different contexts. i.e. how does this component look at each break point.
Q: Is LESS the same as Sass?
A: Basically, yes. Sass has some nifty math tricks which allow you to do math with different units (e.g. 20em - 12px). We have a video which discusses the differences of Sass vs LESS.
Q: I was working with LESS but got frustrated and abandoned it since adding classes in Drupal forms makes a lot of spaghetti code... Any idea how to improve whole process of making theme with SASS?
A: Components. Components. Components. Start with the Theming by Component video.
Q: Do you determine components through design or wireframes?
A: Yes. :-) Think of a component as a piece of furniture. It's anything you could pick up and move to a different location. Often there is a direct correlation with a Drupal site building technique: image style, view mode for a content type, a block, etc. You probably have a list of things you need to build for your client, which all get put into a wireframe and then a complete design. Maybe your complete design is an HTML prototype, maybe it's a static PSD file. There are LOTS of variables here, and not many hard rules. That's why I like to think of a component as "furniture" or "anything I can draw a box around" (as opposed to a wiggly shape). If you haven't already watched it, you'll want to watch the Theming by Component video.
Q: I love the idea of variables in css. how much time can i expect to begin using sass in Drupal as a novice themer who has never used it before?
A: The Sass and Compass learning series is about 2.5 hours. The PSD to Theme series is a little less than 3 hours. I think if you can spend a day watching these videos, you'll be ready!
Q: What theming changes are you most excited about in Drupal 8 and why?
A: CSS coding conventions and the massive theme system overhaul prompted by the Twig initiative. Don't get me wrong, Twig is pretty cool, but I'm most excited about the clean-up. I like things to be neat and tidy. :-)
Q: On a core Drupal 7 site, what are the basic steps to get Sass in place?
A: Sass and Drupal are somewhat independent. Drupal doesn't really speak Sass if everything is working correctly, it uses rendered Sass (aka CSS). The PSD to Theme series has information on creating CSS stub files, and layout rules. The series works best if you watch it in order, so you might want to start at the beginning and at least watch the first few minutes of the videos which come earlier to have things in context.
Q: So to come back on the base theme what makes you decide to use a base theme or build your own theme from scratch.
A: Base themes are such a hot topic! There are two VERY LONG answers to this. One is a presentation that I did at Munich (Evaluating Base Themes); the other is a Drupalize.Me podcast that I was a guest on. Short answer: it depends.
Q: So Using a base theme to start and then create your own theme using SMACSS and @extend base theme classes is a legitimate Drupal theming process?
A: Micah would say "yes"; Jesper would say "no". You can watch their DrupalCon presentations and decide for yourself. :-) Generally I agree with Jesper, but it does add an extra layer of headache going through and making Drupal do what you want...and it's a headache the client will rarely pay for.
Q: What did you use to make your presentation?
A: reveal.js. You can get the code for this exact presentation in our GitHub project.
Q: Any tips for talking down clients who are looking for every page to be designed in Photoshop and for the website to be the pixel-perfect representation of those PSD files?
A: Get to the root of their concern by using the "5 Whys", and maybe show them a picture like this:
(http://wcetblog.files.wordpress.com/2013/12/overwhelmed-by-devices-by-l…)
Q: How do you handle responsive elements from PSD to Drupal?
A: Conversation and pattern libraries. I talk more about pattern libraries in the Theming by Component video.
Q: Do you use automated tool to slice and export PSD files?
A: I never do anything automated with cutting up images. Ever. I extract the assets I want from my design files. You can watch my video for this process in the Extract Design Assets video.
Q: Should we buy the SMACSS book?
A: If you want to support the work Jonathan is doing, yes! If you just want the information, start with the free Drupal resources. The Drupal 8 CSS Coding Standards can be applied to Drupal 7 sites today.
Q: Can you recommend a Sass editor with syntax highlighting?
A: I use Sublime Text in the videos as we find it to be the most accessible, cross-platform text editor. I use Vim for my normal development work.
We hope you found the webinar, and this FAQ, useful and hope you'll consider becoming a member of Drupalize.Me so that you can take advantage of our extended videos on Sass and Compass, and PSD to Theme. Our pricing plans are appropriate for individuals and organizations. Click here for more details.
Thank You
We appreciate your inquiry. We'll be in contact soon.
Hands-On Drupal-to-Drupal Migration Workshop
Due to major backward-compatibility-breaking changes the upgrade from Drupal 7 to Drupal 10 is challenging. And if you don’t already have a team of developers with experience using the Drupal Migrate API, or support from a services agency that does, it’s a daunting task to tackle on your own.
In this workshop we’ll walk through the process of doing an inventory of an existing site, planning a migration, writing a custom Drupal-to-Drupal migration, and then executing that migration in a way that minimizes impact on the current live site. We’ll use a combination of short presentations, hands-on exercises, and group activities to help you gain valuable experience and practice. By the end of the workshop, you should be able to apply concepts in migration to your specific projects.
This workshop covers the Drupal core Migrate modules and essential contributed modules like Migrate Plus, Migrate Tools, and Migrate Upgrade.
You'll come away from this course knowing:
- Best practices for planning, and estimating, a migration
- A process to inventory your existing site and figure out what needs to be done
- What tools are available to help scaffold a migration instead of starting from scratch
- How to execute, test, and rollback, a migration or portions of a migration using Drush
- Ways to customize a migration to handle changes to your information architecture, or migrate only a sub-set of existing data
- Tips for completing a migration with minimal downtime and no need to freeze content on the current site
- How to handle files, relationships, and corrupt data sets
- Where to find additional help when you need it
In addition to the real-time instructor-led workshop, attendees will also receive:
- Example code with extensive documentation suitable for use as reference material for future migration projects
- A PDF workbook with exercises and solutions
- 1 month of free access to the entire Drupalize.Me tutorial catalog
Target audience
- Individual developers working on client sites who could use some help getting up to speed with the process of migrating from Drupal 7 to Drupal 8 or 9.
- Teams of developers working together, either at an agency or as part of an internal team, who want to level up their Drupal migration skills.
- Anyone wanting to gain some experience with migrating Drupal sites to help them do so more efficiently in the future.
Assumptions
- You’re familiar with Drupal, and have built one more Drupal sites, and are now looking to upgrade those sites.
- You’re comfortable with command line basics (moving directories, executing Drush commands, making database backups).
- You know PHP well enough to copy existing examples and make changes to them for your specific use-case.
- You know how to run Drupal in a local development environment. We’ll use DDEV, but as long as you can run CLI commands, write code, and make backups, you can use whatever environment suits you best.
Decoupled Drupal: Creating Modern Web Services APIs with Drupal Workshop
Learn how to use Drupal as the backend for any application. In this front end framework-agnostic workshop we’ll learn how any HTTP client can interact with Drupal via a REST API. We'll cover best practices for important topics regarding the architecture of your API like presentation versus content, security, and documentation.
You’ll come away from this course knowing how to:
- Explain the role of Drupal core’s JSON API and REST modules, and when to use each one
- Authenticate requests using Session Authentication, and OAuth Authentication
- Make requests to Drupal’s API as a privileged user
- Create, update, and delete content entities via REST requests
- Upload files to an entity via REST
- Use API architecture best practices
- Provide high quality API documentation
We’ll use Postman (or your HTTP client of choice) to practice making JSON API requests to perform CRUD operations on Drupal entities, authenticate users, and modify application configuration. Leaving you with the skills necessary to write code in any language or framework that can interact with Drupal.
Target audience
- This would be a great first step for anyone wanting to get started with decoupled Drupal.
- Developers who want to learn how to make use of Drupal’s JSON API and other web services
Assumptions
You already have basic understanding of Drupal administration and are comfortable with doing things like creating content and users, installing modules, and configuring your application.
Decoupled Drupal: React and Drupal Workshop
React is a JavaScript library that makes it easy to create interactive user interfaces. Drupal is a content management system with a powerful web services API.
In this hands-on workshop we’ll walk through increasingly complex code examples that start with a "Hello World!" application, and end with a fully decoupled application that can list, create, update, and delete content in Drupal.
By the end of this workshop you’ll have a better understanding of how to integrate React and Drupal -- either by adding React to an existing Drupal theme or module and creating a progressively decoupled application, or through a fully decoupled application that uses Drupal for the backend and a create-react-app based React front end.
What you’ll learn in this workshop:
- An introduction to the technical side of React, terminology, and information about where to find more resources
- Drupal’s JSON API module, and how to work with the REST API it provides
- The use-cases for adding React to a Drupal site
- How to read, write, update, and delete Drupal content via React code
- Ways to authenticate a Drupal user via an API using React
- Compare the differences between integrating React into an existing Drupal theme or module and creating a stand-alone React application through example code and use-cases
We’ll focus primarily on the intersection between React and Drupal with a goal of giving you the information you need to start integrating your React framework of choice (Gatsby, Next.js, create-react-app, etc.) with Drupal.
Target audience
Developers who want to learn how to integrate React into a Drupal theme, or write stand-alone React applications that interact with Drupal.
Assumptions
- You already have a basic understanding of Drupal administration and are comfortable with doing things like creating content and users, installing modules, and configuring your application
- You can run Drupal on a local development environment
- You already know JavaScript. Knowing React isn’t a requirement to take this workshop, but you’ll likely get more out of it if you’ve at least been through the official Intro to React tutorial.
Thank you!
We really appreciate your help! As a token of our appreciation, here's a code for $10 toward a new or existing Drupalize.Me membership: d8survey
Enter this code at checkout when you purchase a new membership, or enter this code via your Drupalize.Me account dashboard.
Note: This code must be redeemed before March 31, 2015.
Please contact [email protected] if you have questions. Thank you, again!
Welcome
Ready to add members to your group?
- Navigate to your Account page
- Click Add another member.
- Enter the email address of the new group member.
- Click Add new member.
- Repeat to fill your open seats!
Learning Pathways
Do you want to build Drupal sites? Do you want to work with Drupal themes or become a Drupal developer? If yes, then these pathways are for you. Check them out, and start learning (more) Drupal!
Build Drupal Sites
Site building is the Drupal role that everyone should know, as it's the core Drupal competency for site creation. Site building involves getting Drupal up and running, and configuring the options to build a functional site. This covers tasks such as creating content types, lists with Views, menus, and setting up roles and permissions.
Learn to build Drupal sites here
Work with Drupal Themes and Front-End
A themer, also known as a front-end developer, is the connection between the designer and the developer on a project. They’re responsible for the architecture and implementation of the client-facing parts of a web site. This includes working with HTML, CSS, JavaScript, and related technologies. Drupal themers also use some PHP in template files, and in Drupal 8, they’ll use Twig.
Learn to work with Drupal themes here
Become a Drupal Developer
Developers, also known as engineers or programmers, use their knowledge of PHP, MySQL, HTML, JavaScript, and CSS to extend, alter, and enhance Drupal by creating modules. One of the more common tasks that developers do is to create “glue-code”; modules that make minor alterations to the way an existing module works that are application specific, or to tie two or more existing modules together in a unique way, without modifying the original code.