Drupal 8 User GuidePrefaceSource file: guide.txtOverview of introductory topics that help to leverage this guide in an efficient manner.CopyrightSource file: copyright.txtCopyright information for this guide.Copyright for this documentThis guide was written by contributors to the Drupal open-source
project. It is copyright 2015-2016 by the individual contributors, and
can be used in accordance with the
Creative Commons License,
Attribution-ShareAlike 2.0 (CC BY-SA 2.0). Each page in this document
(including this one) has an Attributions statement at the bottom, listing the
people who contributed to writing and editing that page. See also
for guide-wide editing, translating, and project management
information.The CC BY-SA license (very similar to the GPL) allows anyone to copy, modify,
and redistribute modifications of all or part of this work, as long as the
following is complied with:
You provide appropriate credit (see the license for more information).
You provide a link to the license.
You indicate whether changes have been made.
You distribute your work under the same license as this original.
AttributionsThis page was adapted and edited by
Jennifer Hodgdon,
and Jojy Alphonso at
Red Crackle, from
"Documentation copyright and licensing",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Copyright notice: Copyright 2015-2016 by the individual contributors; see
for details. Licensed under
CC BY-SA 2.0.Audience and GoalSource file: preface-audience.txtUnderstanding the target audience for this guide, and what they will learn from it.This guide was written mainly for people with minimal knowledge of the Drupal
content management system. The topics will help them become skilled at
installing, administering, site building, and/or maintaining the content of a
Drupal-based website. The guide is also aimed at people who already have some
experience with a current or past version of Drupal, and want to expand the
range of their skills and knowledge or update them to the current version.This guide assumes that you have already decided you want to learn and use
Drupal. If you need to learn more before deciding, see
.Depending on which aspects of Drupal you would like to learn, you will need some
background knowledge to understand this guide: general Internet skills and
knowledge are assumed, and the guide concentrates on how to use the software
itself. For instance, the sections about installing Drupal on a web server
assume you can obtain web hosting and figure out how to transfer files to your
chosen web host. Similarly, the sections about content management assume you can
log into a website and fill in a web-based form.After reading this guide, you should be able to:
Plan the content architecture for a Drupal-based site
Build the site that you planned
Manage and administer your site
Understand documentation and blog posts on topics not covered here, to
expand your knowledge and skills
Connect with the worldwide Drupal community
AttributionsWritten by Jennifer Hodgdon.OrganizationSource file: preface-organization.txtUnderstanding the organizational structure of this guide for better navigation through topics.This user guide contains a series of topics, each of which covers either a
task (how to do something) or a concept (background knowledge, terminology,
and the like). Concept topics have names starting with Concept:, while task
topics have names containing verbs, like Editing Basic Site Information.The topics are grouped into chapters in a logical order, with concepts and tasks
interleaved so that concepts are presented before related tasks, and tasks build
on each other. To take advantage of this, you are encouraged to read the entire
guide in its presented order, possibly skipping topics that are not of interest
or that present information you already know. Remember to try out the tasks on
your own site as you read the guide; most people learn better by doing rather
than reading.If you prefer, you can also use the index or table of contents to jump straight
to a topic that you’d like to learn about, rather than reading the entire
guide. To facilitate this approach, each topic lists the prerequisite knowledge
that you’d need in order to understand it, if any (with links to the topics that
present that knowledge); task topics also list site prerequisites (things that
you would need to have configured or created on your site in order to perform
the task). Also, most topics have sections at the end where you can find related
information and/or tasks for expanded understanding, to continue your learning.You may also want to refer to the section as you read — it gives
brief definitions of most of the terminology used in the guide, with links to
topics having more detailed explanations.AttributionsWritten by Jennifer Hodgdon.Reporting ProblemsSource file: preface-reporting.txtHow to report an issue with this guide (with detailed steps).GoalReport a problem with this guide, such as:
Information that is incorrect or does not follow best practices
Steps that do not work
Screen shots or text that doesn’t match what you see on the screen
Unclear writing
Places where a table or screen shot would help clarify the text
Failure to define terminology
Missing knowledge prerequisites or site prerequisites for a topic
Typographical, spelling, grammar, or formatting errors
Broken links
Steps
Make a note of the topic or topics that contain the problem you have found.
Log in to Drupal.org (you will need to create a user
account if you do not already have one).
Visit the User Guide issues
page on Drupal.org.
Verify that the problem you found has not already been reported in another
issue:
If there are only a few open issues, scan the Summary column to see if
any of their descriptions match the problem you found. You may also need to
read some of the issues to make sure, which you can do by clicking the links
in the Summary column.
If the open issue list is long, enter either a keyword related to the
problem you found or the title of the topic where the problem occurs in the
Search for box, and click Search to reduce the issue list. Then either
scan the summaries or read the issues to see if they match your problem.
If you determine that your problem has not already been reported, click
Create a new issue, and fill in the issue report as follows:
Field name Explanation Example valueTitleShort summary of the problem you foundInstructions in "Adding
a Content Type" do not workCategoryType of issue being reportedBug reportVersionVersion of the guide you found the problem in8.x-0.x-devIssue summaryDetails of the problem you foundIn the "Adding a Content
Type" topic, in step 3, when I clicked Save, I got the following error
message: …
Reread the Title and Issue summary you entered, and verify that the
following information is included in your report:
A complete description of the problem you found
The name of the topic or topics where you found the problem
The language you are reading the guide in (if not English)
If you read the guide on a website, a link to the page or pages
with the problem
Click Save to create the issue.
Check back on the issue in a few days. If one of the project maintainers has
asked for clarification, respond by adding a comment to the issue.
AttributionsWritten by Jennifer Hodgdon.Conventions of the GuideSource file: preface-conventions.txtUnderstanding the conventions used in this guide.Assumptions and prerequisitesThis guide has the following assumptions and prerequisites:
This guide is organized into topics; see for details.
Many topics include a Prerequisite knowledge section, which lists other
topics whose content knowledge is needed in order to understand the topic you
are reading. Some background knowledge that is not covered in the guide is
also assumed; see for details.
Many task topics list Site prerequisites, which are tasks that you’ll need
to have completed on your site before you’ll be able to do the task in the
topic you are reading.
The specifics of the site prerequisites relate to the scenario used throughout
this guide of building a site for a farmers market (see
for details). You can adapt the tasks to your own scenario, but you will also
need to remember the changes you made when deciding if your site satisfies the
site prerequisites for a task.
For all task topics after , there is also an implicit
prerequisite: you must have installed the content management software on your
site, and be logged in to a user account with sufficient permissions to do the
task (such as the user account created when you installed your site, which
automatically has full permissions).
If you read all the topics in order, and perform all of the steps in the task
topics as you go (staying logged in), you should have the background knowledge
and site prerequisites in place for each topic as you read it.
Text conventionsThe following conventions are used in the text of this guide:
The URL example.com means the base URL of your website. See the Navigation
section below for more details on how URLs internal to your site are
indicated.
Text you should see in the user interface of your site is shown in italics,
such as: Click Save configuration. This only applies to text in the user
interface that comes from the software, not to text that was entered in a
previous topic. For example, in a topic about editing, you might see this
instruction: Click Edit in the row of the About page (Edit would be in
italics, but About would not be, because the About page was created in a
previous topic).
URLs, file names, and newly-introduced terminology are also shown in
italics.
Text that you should type at a shell command line is shown in monospace type,
such as:
drush cr
Within this guide, the word directory is always used to refer to file
directories (which some people prefer to call folders).
NavigationTo do most of the task topics in this guide, you will need to navigate to one
or more pages in the administrative interface of your site. You might see
something like this in the instructions (this will make more sense after you
have the base software installed):In the Manage administrative menu, navigate to
Structure > Taxonomy (admin/structure/taxonomy).Navigation instructions like this assume that you have the core Toolbar module
installed, and this example means that in the menu bar at the top of your site,
you would need to click Manage to expose the menu choices, then click
Structure, then :_Taxonomy_, and that at the end, you would be on a page with
URL http://example.com/admin/structure/taxonomy (if your site base URL is
http://example.com).Admin menuHere’s another example:In the Manage administrative menu, navigate to
Configuration > System > Site information
(admin/config/system/site-information).In this example, after clicking on Manage and Configuration, you would need
to find the System section of the page, and within that, click Site
information. After that, you’d end up on
http://example.com/admin/config/system/site-information.System section of the Configuration pageOne other note: if you are using the standard administrative core Seven theme,
many "Add" buttons in the administrative interface are displayed with + signs on
them. For instance, on admin/content, the Add new content button appears as
+ Add new content. However, this is theme-dependent and is not really part of
the text on the button (for instance, it would not necessarily be read by a
screen reader), so in this guide, the convention is to not mention the + sign
on the buttons.Filling in formsMany of the task topics in this guide include steps where you will fill out a
web form. In most cases, a screen capture image of the form will be included,
along with a table of the values you will need to enter into each form
field. For example, you might see a table that starts out like this, explaining
the site information form you would see if you navigated to Configuration >
System > Site information (admin/config/system/site-information):Field nameExplanationExample valueSite nameName of your siteAnytown Farmers MarketTo use this table, find the field labeled Site name in the form, and enter the
name of your site in this field. An example site name of "Anytown Farmers
Market" is suggested in the table, which relates to the scenario of building a
website for a farmers market that you’ll find all through this guide (see
for details).AttributionsWritten/edited by Jennifer Hodgdon.Guiding ScenarioSource file: preface-scenario.txtUnderstanding the project scenario used in this guide to follow the topics better.Scenario for this document (farmers market)overviewGuiding scenario for this document (farmers market)Usage scenario for this document (farmers market)Farmers marketusage scenario for this documentWhen reading this guide, it is helpful to have a website building project in
mind. The following project scenario provides context and links together
the examples in this guide:You are making a website for a farmers market. The site needs to display
information about the location and hours of the market, and an About page with
the history of the market. It also needs to list the vendors. Vendors should be
able to edit their listings (including a logo or photo), and post recipes. Site
visitors should be able to browse recipes, or locate recipes using ingredients
that they purchased at the market. Some visitors to your site speak another
language, so the main pages and vendor pages need to be translated.AttributionsWritten/edited by Jennifer Hodgdon.Understanding DrupalSource file: guide.txtOverview of Drupal concepts such as modules, themes, distributions, and types of data.Concept: Drupal as a Content Management SystemSource file: understanding-drupal.txtOverview of Drupal and the reasons to choose it as a reliable Content Management System (CMS).CMS (Content Management System)overviewContent Management System (CMS)overviewDrupal content management systemoverviewDrupal content management systemserver requirementsDrupal coreoverviewDrupal.org websitedownloading modules and themes fromWhat is a Content Management System?A content management system (CMS) is a software tool that lets users add,
publish, edit, or remove content from a website, using a web browser on a
smartphone, tablet, or desktop computer. Typically, the CMS software is written
in a scripting language, and its scripts run on a computer where a database and
a web server are installed. The content and settings for the website are usually
stored in a database, and for each page request that comes to the web server,
the scripts combine information from the database and assets (JavaScript
files, CSS files, image files, etc. that are part of the CMS or have been
uploaded) to build the pages of the website.The combination of the operating system that the CMS runs on, the scripting
language it is written in, the database it stores its information in, and the
web server that runs the scripts to retrieve information and return it to the
site visitor’s web browser is known as the stack that the CMS runs on; the
commonly used combination of the Linux operating system, Apache web server,
MySQL database, and PHP scripting language is known as the LAMP stack.What is Drupal?Drupal is a flexible CMS based on the LAMP stack, with a modular design allowing
features to be added and removed by installing and uninstalling modules, and
allowing the entire look and feel of the website to be changed by installing and
uninstalling themes. The base Drupal download, known as Drupal Core, contains
the PHP scripts needed to run the basic CMS functionality, several optional
modules and themes, and many JavaScript, CSS, and image assets. Many additional
modules and themes can be downloaded from the Drupal.org
website.Drupal can also run on other technology stacks:
The operating system can be Windows or Mac OS instead of Linux.
The web server can be Nginx or IIS instead of Apache.
The database can be PostgreSQL or SQLite instead of MySQL, or a
MySQL-compatible replacement such as MariaDB or Percona.
Other operating systems, web servers, and databases can also be made to work;
however, the scripts that the software uses are written in PHP, so that cannot
be changed.What are the reasons for using Drupal?When building a website, you have your choice of using one of the many existing
CMS packages and hosted services, developing your own CMS, or building the site
without using a CMS. Here are some of the reasons you might choose to use
Drupal:
Building a small, simple site with static HTML pages is not difficult, and you
can get a simple site up very quickly. Setting up a site in a CMS generally
requires more time initially, but brings you the benefits of on-line editing
(easier for less experienced content maintainers), uniformity (harder to
maintain using static HTML for larger sites), and the possibility of more
complex features requiring a database.
Some CMS software is special-purpose; for instance, there are packages and
hosted services that you can use to build a blog or a club membership
website. Drupal, in contrast, is a general-purpose CMS. If you are building a
special-purpose site, you might choose to use a special-purpose CMS; however, if
your site falls even slightly outside the intended purpose, you will probably be
better off using a general-purpose CMS rather than trying to adapt a
special-purpose CMS.
Building your own CMS-type software can seem attractive. However, using a
general-purpose CMS like Drupal as a starting point is usually a better idea,
because the basic CMS functionality (such as user accounts and content
management) has thousands of developer hours behind it, including many years of
user testing, bug fixing, and security hardening.
Some CMS software packages are expensive to purchase a license for. Some are
free or have a free version, but have restrictive licenses that do not allow you
to make modifications and extensions. You might prefer to use a package (like
Drupal) that has a less restrictive software license, and is developed by a
world-wide community. See for more on this topic.
Related topicsAdditional resourcesThe Drupal overviewDrupal.org page "FAQ" (Frequently Asked Questions)Drupal.org page "Case Studies"Wikipedia page "Content management systems"Wikipedia page "Modular design"AttributionsWritten and edited by Kristof van Tomme
at Pronovix,
Jennifer Hodgdon,
and Michael Lenahan
at erdfisch.Concept: ModulesSource file: understanding-modules.txtOverview of modules and the functionality they can be used for.ModuleoverviewContributed moduleoverviewCore moduleoverviewField moduleoverviewField UI moduleoverviewMenu UI moduleoverviewNode moduleoverviewUser moduleoverviewViews moduleoverviewViews UI moduleoverviewModulecoreModulecontributedModuleFieldModuleField UIModuleMenu UIModuleNodeModuleUserModuleViewsModuleViews UIPrerequisite knowledgeWhat is a module?A module is a set of PHP, JavaScript, and/or CSS files that extends site
features and adds functionality. You can turn the features and functionality on
by installing the module, and you can turn it off by uninstalling the
module; before uninstalling, you may need to remove data and configuration
related to the feature or functionality. Each module that is installed adds to
the time needed to generate pages on your site, so it is a good idea to
uninstall modules that are not needed.The core download provides modules for functionality such as:
Managing user accounts (the core User module)
Managing basic content (the core Node module) and fields (the core Field and
Field UI modules; there are also core modules providing field types)
Managing navigation menus (the core Menu UI module)
Making lists, grids, and blocks from existing content (the core Views and
Views UI modules)
You can download additional contributed modules from the
Drupal.org Module Downloads, or create your own
custom modules.Related topicsAdditional resourcesDrupal.org community documentation page "Module developer’s guide"AttributionsWritten by Jennifer Hodgdon.Concept: ThemesSource file: understanding-themes.txtOverview of themes and where to obtain them.ThemeoverviewThemecoreCore themeoverviewThemethird-partyThird-party themeoverviewThemecustomCustom themeoverviewPrerequisite knowledgeWhat is a Theme?A theme is a set of files that define the visual look and feel of your site.
The core software and modules that run on your site determine which
content (including HTML text and other data stored in the database, uploaded
images, and any other asset files) is displayed on the pages of your site. The
theme determines the HTML markup and CSS styling that wraps the content.The core software provides several basic themes with the core distribution.
These themes have largely been designed and built by the community over the last
several years and will all be good choices for building your first sites and
becoming more familiar with how the core software works.Drupal is a well-established CMS so the market for 3rd party themes - both free
and paid - is very robust.If none of the 3rd party options suit your needs, you’ll need to create a custom
theme. A custom theme can be as simple as a single CSS file that adds styling to
the markup provided by the core software. Guidance for creating custom themes
in Drupal 8 can be found in the
Drupal.org community documentation page
"Theming Drupal".Related topicsAdditional resourcesDrupal.org community documenation page "Theming Drupal"AttributionsWritten and edited by John Grubb and
Jennifer Hodgdon.Concept: DistributionsSource file: understanding-distributions.txtOverview of distributions and their different types to set up use-specific websites.DistributionoverviewDistributionfull-featuredDistributionquick-startFull-featured distributionoverviewQuick-start distributionoverviewPrerequisite knowledgeWhat are Distributions?Distributions provide site features and functions for a specific type of site
as a single download containing the core software, contributed modules, themes,
and pre-defined configuration. A distribution makes it possible to set up a
complex, use-specific site in fewer steps than installing and configuring
elements individually.There are two main types of distributions:
Full-featured Distributions
A full-featured distribution is a project that provides a complete solution
to set up a site for a specialized purpose such as academic, business,
government, nonprofit, publishing, social, etc. For example, you could use an
existing distribution for farmers markets to build your own website, or you
could share your set-up for the farmers market site as a distribution for
others to use.
Other Distributions
Distributions can also be quick-start tools that developers and site
builders can use as a starting point.
Related topicsAdditional resourcesDrupal.org Drupal Distribution DownloadsAttributionsAdapted and edited by Diána Lakatos
and Antje Lorch,
from "Distributions"
and "Download & Extend — Distributions"
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Concept: Types of DataSource file: understanding-data.txtOverview of common types of data used in a site.Data typeoverviewData typeconfigurationData typecontentData typestateData typesessionConfigurationas a type of dataContentas a type of dataStateas a type of dataSessionas a type of dataWhat are the types of data?The data and information on your site is divided up into four types, which are
edited, translated, and stored differently. These four types are:
Content
Information (text, images, etc.) meant to be displayed to site visitors. This
type of information tends to be relatively permanent, but can normally be
edited.
Configuration
Information about your site that is not content, but is also relatively
permanent, and is used to define how your site behaves or is displayed. It is
sometimes also displayed to site visitors, but tends to be smaller pieces of
text (like field labels, the name of your site, etc.) rather than larger
chunks that you’d normally think of as Content.
State
Information of a temporary nature about the current state of your
site, such as the time when cron jobs were last run.
Session
Information about individual site visitors' interactions with the site, such
as whether they are logged in and their cookies. This is technically a
subtype of State information, since it is also temporary.
Related topicsAttributionsAdapted by Jennifer Hodgdon from
"Overview of Configuration (vs. other types of information)",
copyright 2000-2016 by the individual contributors to the
Drupal Community DocumentationConcept: The Drupal ProjectSource file: understanding-project.txtOverview of Free and Open Source Software (FOSS), Drupal project, and Drupal Association.Drupal projectoverviewDrupal AssociationoverviewFOSS (Free and Open Source Software)overviewFree and Open Source Software (FOSS)overviewPrerequisite knowledgeWhat is Free and Open Source Software?Free and Open Source Software (FOSS) is software that is developed by a
community of people, released under a non-commercial license, and whose source
code (the program files that make up the software) is freely available. For
more information on the non-commercial license used by Drupal, see
.What is the Drupal project?The Drupal project is a FOSS project whose purpose is to develop the core
content management system software, as well as add-on modules, additional
themes, translations, documentation, and special-purpose distributions. The
people who contribute their time and money to the Drupal project come from all
over the world, and are a diverse community that comes together for this common
purpose.The community encompasses many smaller groups who perform many different tasks
such as developing a particular piece of Drupal-related software, writing
documentation, maintaining the security of Drupal software, translating Drupal
software into a particular language, using Drupal for some specific purpose,
and coming together to meet in person within a particular geographical area.For more on how you can connect to and communicate with the world-wide
community, see and .What is the Drupal Association?The Drupal Association is a non-profit organization
dedicated to supporting the Drupal project and community. Its main functions
are:
Putting on large conventions around the world
Maintaining the Drupal.org websites and the servers that they run on
Promoting Drupal as a web platform
Supporting Drupal education and training
Providing grants to the Drupal community in support of its mission
Raising funds for these purposes
Related topicsAdditional resourcesDrupal project governanceDrupal Code of ConductAttributionsWritten by Jennifer Hodgdon.Concept: Drupal LicensingSource file: understanding-gpl.txtOverview of Drupal licensing and the guidelines to be followed by users and contributors.LicensingoverviewDrupal licensingoverviewGPL (General Public License or GNU General Public License)overviewGNU General Public LicenseoverviewLegaloverviewPrerequisite knowledgeWhat is Drupal Licensing?Drupal and all contributed files hosted on Drupal.org are licensed under the
GNU General Public License (GPL), version 2 or later. That means you are free to
download, reuse, modify, and distribute any files that are part of a project on
Drupal.org under the terms of GPL version 2 or 3. You can also run the core
software in combination with any code with any license that is compatible with
version 2 or 3.Drupal contributors should follow these guidelines:
All files (PHP, JavaScript, images, Flash, etc.) that are part of a project
on Drupal.org have to be under GPL version 2 or later.
All Drupal contributors retain copyright on their code, but agree to release
it under the same license as Drupal.
Drupal modules and themes are a derivative work of Drupal. If you distribute
them, you must do so under the terms of GPL version 2 or later.
All content on Drupal.org itself is copyrighted by its original
contributors, and is licensed under the Creative Commons Attribution-ShareAlike
license 2.0.
Sample code on Drupal.org is also available under GPL version 2 or later.
Related topicsAdditional resourcesDrupal.org page on "Licensing""Drupal 8 LICENSE.txt" page on api.drupal.orgGNU General Public License, version 2GNU General Public License, version 3Creative Commons Attribution-ShareAlike license 2.0."Legal Group" on groups.drupal.orgAttributionsAdapted by Diána Lakatos at
Pronovix from
"Licensing"
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Planning Your SiteSource file: guide.txtOverview of site planning concepts and details of common site layout tasks. Content entity and structure concepts are covered.Concept: Regions in a ThemeSource file: block-regions.txtOverview of regions from a theming perspective.Themeregions inBartik themeregions inRegionoverviewBreadcrumb regionoverviewContent regionoverviewFeatured regionsoverviewFooter regionsoverviewHeader regionoverviewHelp regionoverviewHighlighted regionoverviewMenu regionoverviewPrimary menu regionoverviewSecondary menu regionoverviewSidebar regionsoverviewRegionbreadcrumbRegioncontentRegionfeaturedRegionfooterRegionheaderRegionhelpRegionhighlightedRegionmenuRegionprimary menuRegionsecondary menuRegionsidebarPrerequisite knowledgeWhat is a region?Besides its primary content, a web page contains other content such as site
branding (site name, slogan, and logo), navigation aids (menus, links, and
icons), formatted text, and images. Each theme provides a set of named regions,
such as Header, Content, and Sidebar, where site builders may choose to
place their content.The available regions depend on the theme design. Only the Content region,
which contains the primary content, is required; others are optional. The
core Bartik theme provides the eighteen regions highlighted in the following
image.core Bartik theme regionsRelated topicsAdditional resourcesDrupal.org community documentation page "Structure Guide"Drupal.org community documentation page "Assigning content to regions"AttributionsWritten and edited by John MacDonald,
and Michael Lenahan at
erdfisch.Planning Your Site LayoutSource file: planning-layout.txtHow to plan the navigation and layout of a website (mobile and desktop browsers).Planningsite layoutSite layoutplanningLayoutplanningGoalPlan the navigation and layout of the site, for both mobile and desktop
browsers.Prerequisite knowledgeStepsIt is a good idea to plan the site layout before you start building
the site and writing content; however, your plan may need to be revised either
before you start implementing it or after you have some of the site built with
draft content in place, based on budgetary concerns or stakeholder feedback.
Make a list of the information that your site should present to visitors. In
the farmers market scenario, this might include:
Location of the market, with directions and a map
Hours and days the market is open
History of the market
List of vendors
Details about each vendor
Searchable list of recipes
Details about each recipe
List of the most recently added recipes
Decide which information should be on which pages or types of pages on the
site:
Information that should be on all pages
Address, hours, and recently-added recipes list
Vendor details pages
Information about each vendor on its own page
Recipe details pages
Details of each recipe on its own page
Home page
Location, map, directions, and hours
About page
History of the market
Vendors list page
List of vendors, with links to vendor detail pages
Recipe list page
Searchable list of recipes, with links to recipe detail pages
Decide which information is the most important on each page. Site visitors
using mobile phones or other small browsers will often only see the content that
is presented first, and they may not scroll down to see all of the information.
Decide which of these pages should appear in the main site navigation. For
instance, the main navigation might consist of the Home, About, Vendors, and
Recipes pages.
Make a rough design sketch for each page, showing how it would look when
viewed on a small screen such as a phone, as well as on a larger screen such as
a desktop browser. Considering that most site visitors will be using smaller
browsers, it is a good idea to start with the phone-size layout, to make sure
that these visitors will be able to find the information they need without too
much scrolling.
In making these page layout plans, you might find that you need to revise your
plan for which information should be on which pages. For example, you might
decide that the address, hours, and recently-added recipes list would all fit
well in the right sidebar area of all pages, when the site is viewed on
desktop-sized browsers. On the other hand, you might decide that for mobile
browsers, you would instead put the address and hours in a short format at the
top of each page, but only display the recent recipe list at the bottom of the
home page.Expand your understandingAttributionsWritten by Jennifer Hodgdon.Concept: Content Entities and FieldsSource file: planning-data-types.txtOverview of content entities and fields.EntityoverviewTaxonomy termoverviewVocabularyoverviewContententity typeEntity typeoverviewEntity subtypeoverviewBlockentity typeComment entity typeoverviewContact form entity typeoverviewForm entity typeoverviewContent entity typeoverviewCustom blockentity typeFieldoverviewUser profile entity typeoverviewModuleCommentModuleContactModuleTaxonomyModuleUserModuleNodeModuleCustom BlockModuleFileComment moduleentity typeContact moduleentity typeCustom block moduleentity typeNode moduleentity typeTaxonomy moduleentity typeUser moduleentity typeFile moduleentity typePrerequisite knowledgeWhat is a content entity?A content entity (or more commonly, entity) is an item of content data,
which can consist of text, HTML markup, images, attached files, and other data
that is intended to be displayed to site visitors. Content entities can be
defined by the core software or by modules.Content entities are grouped into entity types, which have different purposes
and are displayed in very different ways on the site. Most entity
types are also divided into entity sub-types, which are divisions within an
entity type to allow for smaller variations in how the entities are used and
displayed. Here is a table of some common content entity types:Entity type Entity sub-type Defining Module Main uses ExamplesContent itemContent typeNode moduleContent intended to be the main page area for pages on the siteIn the farmers market site example, you might have content types for
basic pages, vendor pages, and recipe pages.CommentComment typeComment moduleCommentary added to content entities (typically to Content item entities)On a blog site, blog posts might have comments. They are not needed in the
farmers market site example.User profile(none)User moduleData related to a person with a user account (login access) on the siteEvery site has at least basic user profiles with user names and email
addresses; social networking sites may have more complex user profiles with
more information.Custom blockBlock typeCustom Block moduleText and images in smaller chunks, often displayed in the site header,
footer, or sidebarIn the farmers market site example, you might put the hours and location in
a sidebar block.Taxonomy termVocabularyTaxonomy moduleUsed to classify other types of contentIn the farmers market site example, you might classify Recipe content with an
Ingredients taxonomy vocabulary, with taxonomy terms like Carrots and
Tomatoes. In a blogging site, blog posts might be classified using a Tags
vocabulary, and perhaps also a Categories vocabulary.File(none)File moduleAn image or attachment file that is tracked and managed by the site, often
attached to other types of contentIn the farmers market site example, both Recipe and Vendor pages might have
image attachments, which would (behind the scenes) be managed as File
entities by the siteContact formForm typeContact moduleA form that lets site visitors contact site ownersA contact form is needed in the farmers market site exampleWhat is a field?Within entity items, the data is stored in individual fields, each of which
holds one type of data, such as formatted or plain text, images or other files,
or dates. Field types can be defined by the core software or by modules.Fields can be added by an administrator on entity sub-types, so that all
entity items of a given entity sub-type have the same collection of fields
available. For example, the Vendor content type in the farmers market example
might have fields for the vendor name, a logo image, website URL, and
description, whereas the Basic page content type might only have fields for
the title and page body. When you create or edit entity items, you are
specifying the values for the fields on the entity item.Related topicsAttributionsWritten and edited by Jennifer Hodgdon
and Grant Dunham.Concept: Modular ContentSource file: planning-modular.txtOverview of modular content and how content in a page can be sourced from other content items.ContentmodularModular contentoverviewPagecompositeComposite pagecreating with modular contentViewand modular contentViews moduleoverviewPrerequisite knowledgeWhat is modular content?Given that the content of your site is stored in a database, it is desirable to
make the content modular, meaning that certain pages on your site, rather than
being edited as a whole page, are instead generated automatically from other
content items. For instance, in the farmers market site scenario, you might
create individual content items for recipes. If the recipe content items have a
field that keeps track of ingredients, then your site could include a composite
page that would list recipes, and allow visitors to search for a recipe that
contained some particular ingredient they had bought at the market.Smaller sections of pages can also be generated as composites. For instance,
recipe content items could have a field that keeps track of which vendor
submitted the recipe (see ), with the vendor
details edited in separate vendor content items. This would allow you to do the
following on your site:
On each Recipe page, there could be an area that displays some information
about the vendor that submitted the recipe, such as their name and market stall
number.
Each vendor page could have a section that lists the recipes they have
submitted.
The key idea is that each piece of information is only edited in one place.
When vendor information is updated, all recipe pages that display that vendor
information are automatically updated; when a recipe is submitted by a vendor,
it is automatically displayed on the vendor page. The core Views module is the
usual way to use modular content to create composite pages and page sections;
see for more information. Also, view modes are useful for
defining different ways to display each content item; see
for more information.Related topicsAttributionsWritten by Jennifer Hodgdon.Planning your Content StructureSource file: planning-structure.txtHow to plan a content structure that assigns content entity types to specific content on the website.Content structureplanningSite plancontent structureGoalMake a plan for the content structure of the site (which type and subtype of
entity to use for which content), and which pages will contain listings of
content.Prerequisite knowledgeSteps
Brainstorm about what content your site needs to contain, which could include
content that visitors would be looking for, as well as content that you want
to show to visitors. The result could be the description in
.
For each identified piece of content, decide which content entity type would
be the best fit. In doing this, you’ll need to consider where and how
the content will be used and edited on the site. For example, in the farmers
market site scenario, you might want to display the hours and location of the
farmers market on the sidebar of every page. For that content, a single custom
block makes sense. As another example, you might decide that pages displaying
information about each vendor should be content items managed by the core Node
module, because you want vendors to be able to edit their own listings.
The core Node module permission system lets you do this easily.
These decisions do not necessarily always have only one right answer; for
instance, you could decide that vendor pages should be user profiles instead of
content items, but if you did that the content would be tied to a specific user
account, and it would not be as easy to later change the ownership of a vendor
page to a different user account.
Within each content entity type you identified, decide what division into
entity sub-types would make sense. For example, in the farmers market site
example, you would probably decide that under the Content item entity type,
there should be one content type for basic pages (Home and
About), one for vendor pages, and one for recipe pages.
For each entity sub-type you decided on, decide what fields are needed. For
instance, the Vendor content type might need fields for the vendor name, web
page URL, image, and description.
Decide on what entity listings are needed, which could be entire pages or
smaller areas on the page. For each listing, you’ll need to determine what
entity items should be listed. Then you’ll need to decide in what order and with
what filtering options they should be displayed; for example, you might want to
give the site visitor the option to search by keyword, to filter the list down
to a subset, or to sort the list. You’ll also need to decide what information
from the entity items should be shown, which might result in adding to the list
of fields you determined in the previous step. The farmers market site, for
example, needs to have a Recipes listing page that lists content items of type
Recipe, with the ability to filter by ingredients, so that means that the Recipe
content type needs an Ingredients field.
For each identified field on each entity subtype, identify what type of data
it should contain (such as plain text, formatted text, a date, an image file,
etc.), and how many values should be allowed. Most fields are
single-valued, but for example, a Recipe should allow for multiple values in
its Ingredients field.
Consider which fields would be best as references to taxonomy term entities:
fields whose values should be chosen from a list of allowed values. Allowed
values that are expected to change and grow over time, are good candidates. An
example is the Ingredients field for the Recipe content type.
Consider which fields should reference other content entities. An example is
that since vendors will be submitting recipes, a field will be needed on
the Recipe content type that references the Vendor content item for the vendor
who submitted the recipe.
Here’s an example of the resulting content structure for the farmers market
scenario example site:Entity type Entity sub-type Examples FieldsContent itemBasic pageHome page, about pageTitle, page bodyContent itemVendorA page for each vendor at the marketVendor name, page body, image, URLContent itemRecipeA page for each submitted recipeRecipe name, page body, image, reference to Vendor who submitted it,
Ingredients taxonomyCustom block(generic)Copyright notice for footer,
Hours and location for sidebarNo special fieldsTaxonomy termIngredientsCarrots, tomatoes, and other recipe ingredientsNo special fieldsContact form(generic)Generic contact formName, email, subject, messageUser profile(none)Will not be displayed on siteNo special fieldsAnd here are the listings the site needs:Page or page area Entity type and sub-type Filter/sort/pagination Fields displayedVendors pageVendor content itemsAll vendors, alphabetical, pagedImage, vendor name, trimmed bodyRecipes pageRecipe content itemsFilter by ingredients, alphabetical, pagedImage, recipe nameRecent recipes sidebarRecipe content itemsList 5 most recentImage, recipe nameExpand your understandingRelated conceptsAttributionsWritten and edited by Jennifer Hodgdon
and Grant Dunham.Concept: Editorial WorkflowSource file: planning-workflow.txtOverview of the editorial workflow to manage content on a website.Editorial WorkflowoverviewPublished flagoverviewUnpublished flagoverviewRevisionoverviewPrerequisite knowledgeWhat is an Editorial Workflow?An Editorial Workflow is the process organizations follow to create, review,
edit and publish content.Depending on the size and processes of the organization, multiple people in
different roles can be part of the process. For example, content creators
collect information and write content, editors review, edit, ask for changes,
and publish the content once it’s considered ready to be shared with the
audience.In your site, content types can have either a Published or an Unpublished flag
to track their workflow states, that you can set for each content item when
saving:
Published content items are visible to all visitors of the site.
Unpublished content items are not visible to the visitors of the site, but can
be seen by authenticated users who have the permissions to view unpublished
versions of specific content items.
Most content entity types support revision tracking, if it is enabled by an
administrator for the entity sub-type. If you have revision tracking enabled,
the software will store old versions of the content each time it’s revised, and
add notes about what is changed. This allows you to look at the history and
revert to older versions.Using the Unpublished flag and Revisions, you can build an editorial workflow
that lets content creators and editors work on the live site without displaying
the content to visitors. When the content is ready to be published, all they
need to do is save it as Published.Related topicsAdditional resourcesTalking about online content, organizations would also want to consider
post-publication phases of the editorial workflow: content teams might need to
update already published content. Some organizations might need a more complex
workflow with the options to configure which content type goes through the
workflow process, set up user roles and permissions, set different workflow
states (for example draft, needs review, published).For more complex workflows, you can add install or more modules from the
contributed Workbench Suite module
to your site.AttributionsWritten and edited by Diána Lakatos at
Pronovix, and
Grant Dunham.InstallationSource file: guide.txtOverview of server requirements and details of common installation tasks.Concept: Server RequirementsSource file: install-requirements.txtOverview of server requirements for installing and running the core software.Installation requirementsoverviewInstallation requirementsdisk spaceInstallation requirementsweb serverInstallation requirementsdatabaseInstallation requirementsPHP programming languageInstallingcore softwareCore softwareinstallation requirementsDisk spaceinstallation requirementsWeb serverinstallation requirementsApache web serverversion requirementsHiawatha web serverversion requirementsNginx web serverversion requirementsMicrosoft IIS web serverversion requirementsDatabaseinstallation requirementsMySQL databaseversion requirementsPostgreSQL databaseversion requirementsSQLight databaseversion requirementsPHP programming languageversion requirementsWhat are the requirements for running the core software?Disk spaceA minimum installation requires 15 MB. 60 MB is needed for a website with many
contributed modules and themes installed. Keep in mind you need much more for
the database, files uploaded by the users, media, backups, and other files.Web server
Apache (Recommended)
Apache is the most commonly used web server. The core software will work on
Apache 2.x hosted on UNIX/Linux, OS X, or Windows that have the Apache
mod_rewrite module installed and enabled. The Apache VirtualHost configuration
must contain the directive AllowOverride All to allow the .htaccess file
to be used.
Nginx
Nginx is a commonly used web server that focuses on high concurrency,
performance and low memory usage. The core software will work on Nginx 1.1 or
greater hosted on UNIX/Linux, OS X, or Windows. The ngx_http_rewrite_module
must be installed and enabled.
Hiawatha
Hiawatha is a web server with a strong focus on security. It also aims at
being easy to use and lightweight. Research performed by independent
researchers proves that Hiawatha offers a performance comparable to other web
servers under normal conditions, but much better while under attack. URL
Toolkit must be installed and configured to rewrite URLs.
Microsoft IIS
Microsoft IIS is a web server and set of feature extension modules for use
with Microsoft Windows. The core software will work with IIS 5, IIS 6, or IIS
7 if PHP is configured correctly. Because clean URLs are required, you may
need to use a third party product. For IIS 7, you can use the Microsoft URL
Rewrite module or a third party solution.
DatabaseUse one of the following databases:
MySQL - 5.5.3 (MariaDB 5.5.20, Percona 5.5.8) or higher with an
InnoDB-compatible primary storage engine
PostgreSQL - 9.1.2 or higher
SQLite - 3.4.2 or higher
PHPPHP 5.5.9 or higher.Additional resourcesDrupal.org community documentation page "System requirements"AttributionsAdapted by Karl Kedrovsky and
Brian Emery from
"System requirements",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Concept: Additional ToolsSource file: install-tools.txtOverview of additional tools that help site builders conveniently create sites.ToolCoderToolDevelToolDrushToolFirebugToolGitCoder tooloverviewDevel tooloverviewDrush tooloverviewFirebug tooloverviewGit tooloverviewDrupal ConsoleoverviewWhat tools are available for site builders?There are several additional tools available that help you create sites faster,
more accurate and with less effort.
Drush
See below for more about Drush.
Git
Git is a version control system you can use to track
changes made to files within your entire site, or files relating only to the
module or theme that you are using. Git makes it possible to try out changes,
and if necessary, revert to a previous version. It can be used as well to
track changes in the configuration files and synchronize the configuration of
different sites. Git has become the standard for web development
projects.
Devel
The contributed Devel module helps with
development tasks such as debugging and inspecting code, analyzing database
queries, and generating dummy content.
What is special about Drush?Drush is a command-line tool for building and maintaining
sites, providing an alternative to using the administrative interface for many
operations. Many site builders and maintainers prefer to use Drush whenever
possible, and consider the time spent installing and learning to use Drush to be
a good investment. Reasons to consider using Drush:
Drush provides a large number of commands for tasks such as installing the
base software, modules, and themes; updating software; performing database
operations, including copying and querying; resetting passwords; and clearing
the cache. Some contributed modules and themes also define Drush commands.
Doing administrative tasks using Drush is typically faster and less tedious
than performing the same tasks through the administrative interface.
Since Drush is a command-line interface, you can write scripts that combine
Drush commands and other commands on the server, to automate more complicated
tasks.
Drush provides additional functionality not available via the administrative
interface; for example, running database queries.
If you want to use Drush, you will need to have command-line terminal access to
the server where your website will be hosted, and you will need to have a
compatible version of the Drush tool installed on that server. Check the
Drush website for installation instructions and version
compatibility. There is also documentation on the available Drush commands on
that site.What tools are available for module and theme developers?In addition to the site builder tools mentioned above, the following tools are
useful for module and theme developers.
Drupal Console
Drupal Console is a command-line tool that
generates boilerplate code and interacts with a Drupal site. It can generate,
for example, block or form code, install modules and themes, and create dummy
content. Drupal Console makes use of the Symfony Console.
Coder
Coder is a command-line tool that checks
if your modules and themes comply with coding standards and other best
practices. It can also fix coding standard violations.
Firebug
Firebug is a Firefox plugin that allows viewing,
editing, debugging, and monitoring CSS, HTML, and JavaScript in a separate
browser window. The contributed Drupal for Firebug module
displays Drupal debugging and SQL query information in the Firebug window.
Additional resourcesDrupal.org community documentation page "Development tools"AttributionsWritten and edited by Boris Doesborg
and Jennifer Hodgdon.Preparing to InstallSource file: install-prepare.txtHow to choose a method for installing the core software, and satisfy prerequisites for installation.Installingcore softwareDrush toolusing to install the core softwareWeb installerusing to install the core softwareDownloadingcore softwareDrupal corepreparing installGoalChoose an appropriate way to install the core software, and handle any
required prerequisites.Prerequisite knowledgeSite prerequisitesIf you want to use Drush to install the core software, Drush must be
installed. See .Steps
Choose a method for installing the core software.
Try a free online demo
Use an online provider to get a demo installation of the core software in 20
minutes or less. See the
Drupal.org page "Try Drupal".
Use a one-click installer from your hosting provider
If you choose to install the core software at your hosting provider, your
hosting provider may have specific documentation and/or a one-click install
that you can use. See
Drupal.org’s list of hosting providers that support Drupal.
Use Drush
You will need to have Drush installed and command-line access to the site. See
.
Use the web installer
You will need space on a local or hosted web server to install the core
software manually.
If you are installing using Drush or the web installer, set up a URL and
hosting for your site, either at an external hosting provider or on your own
computer. Verify that the hosting is working by putting a simple HTML file in
the web root directory of the hosting, and visiting the URL for your site.
If you are installing using Drush or the web installer, create a database,
along with a database user account with full access.
If you are installing using Drush, type the following at the Drush command
line, where example is the name of the directory that the core software will
be downloaded to, and DB_NAME, DB_USER and DB_PASS are your database’s
credentials:
drush dl drupal --drupal-project-rename=example
cd example
drush site-install standard --db-url='mysql://DB_USER:DB_PASS@localhost/DB_NAME' --site- name=example
If you are installing using web installer, upload the core software files
manually. You will need to:
Go to https://www.drupal.org and click Download & Extend on the top-level
menu.
Downloads page on Drupal.org
Click the green download button under Core to be taken to the Downloads
page.
Recommended releases section of Drupal downloads page on Drupal.org
Click the version you wish to download under Recommended releases.
Download files section of Drupal core download page on Drupal.org
Download the tar.gz or zip file to the web root in your local machine.
Upload the downloaded files to your hosting account. Log in to the control
panel and navigate to the HTML directory. Save the Drupal files in a new
directory at the same level as other sites you are hosting.
Uncompress the tar.gz or zip file. A new directory will be created featuring
all the uncompressed Drupal files. Optionally, rename the directory to match
your custom site’s name.
Expand your understandingRun the installer if you chose web installer to install the core software. See
.Additional resourcesDrushAttributionsWritten and edited by Drew Gorton,
Michael Lenahan at
erdfisch,
and Jojy Alphonso at
Red Crackle.Running the InstallerSource file: install-run.txtHow to use the installer to install the core software.Installer toolrunningInstallation processInstallation profileProfileinstallationDatabaseconfiguring during the installation processCore softwareinstallingDrupal coreinstallingWeb installerrunningGoalInstall the core software and create the admin account by running the included
installer.Prerequisite knowledgeSite prerequisitesSteps
If you are using a 1-click install from a hosting provider or demo site, you
will most likely see some or all of the following screens as part of the
installation process. If you uploaded the core files manually, to start the
installer, open a browser and visit the URL that you set up for your hosting.
Select a language on the first page of the installer; for example,
English. You could optionally choose from any of the other listed languages.
The language files for the chosen language will be downloaded and installed so
that the rest of the installation process can be finished in the chosen
language. After choosing a language, click Save and continue.
Choose a language
Select an installation profile. Installation profiles provide site features
and functions for a specific type of site as a single download containing
the core software, contributed modules, themes, and pre-defined
configuration. Core contains two installation profiles. Select the core
Standard installation profile. Click Save and continue.
Choose an installation profile
The next step in the installer will verify that your system meets the minimum
requirements. If it does not, you’ll be presented with an outline of what
needs to be corrected in order to proceed. If it does, the installer will
automatically advance to the next step.
Provide details of the database you created in the
chapter. Then click Save and continue.
Field name Explanation ValueDatabase nameThe custom name given to the databasedrupal8Database usernameUsername createddatabaseUsernameDatabase passwordPassword chosenDatabase configuration form
The next step will display a progress bar under the heading Installing
Drupal. After the installer has completed, it will automatically advance to
the next step.
Installation progress bar
The final step is to configure some basic information about your new site.
Note that the user account you create in this step is the site’s admin
account. See for important information about this unique
account. You can safely name this account "admin", and make sure to choose a
secure and unique password.
Fill in the form with the following information:Field name Explanation ValueSite nameThe name chosen for the siteAnytown Farmers MarketSite email addressThe email associated with the siteinfo@example.comUsernameThe designated user’s credentialsadminPasswordThe password chosenConfirm passwordRepeat the passwordEmail addressThe user’s emailadmin@example.comThe remaining fields can likely be left at their default values.Configuration form
Click Save and continue.
You will be redirected to the front page of your new site and you should see
the message Congratulations, you installed Drupal! displayed at the top of
the page.
Installation successExpand your understandingCheck the Status Report to see if there are any problems with the
installation. See .Related conceptsAdditional resourcesDrupal.org community documentation page "Create A Database"AttributionsWritten and edited by Joe Shindelar at
Drupalize.Me,
and Jojy Alphonso at
Red Crackle.Basic Site ConfigurationSource file: guide.txtOverview of basic site configuration concepts. Tasks on module installation, user account settings, and themes are covered.Concept: Administrative OverviewSource file: config-overview.txtOverview of administrative menu and contextual links.AdministrationoverviewAdministrative menuoverviewManage administrative menuoverviewToolbaroverviewContextual linkoverviewContent menu entryadministrative menuStructure menu entryadministrative menuAppearance menu entryadministrative menuExtend menu entryadministrative menuConfiguration menu entryadministrative menuPeople menu entryadministrative menuReports menu entryadministrative menuHelp menu entryadministrative menuPrerequisite knowledgeWhat is the administrative menu?The toolbar provided by the core Toolbar module displays the Manage
administrative menu at the top or left side of the site, for users with
permission to see it. This menu provides access to all of the administrative
areas of the site. The menu entries will vary depending on which modules are
active on your site and the permissions of the person viewing the menu; if you
install using the core Standard installation profile and have full
administrative permissions, the top-level entries are as follows:Administrative menu in horizontal mode
Content
Lists and manages existing content, and allows creation of new content.
Structure
Contains a list of links for managing structural elements of the site, such
as blocks, content types, menus, and taxonomy.
Appearance
Manages themes and appearance-related settings.
Extend
Manages the installation and uninstallation of modules.
Configuration
Contains links to settings pages for various site features.
People
Manages users, roles, and permissions.
Reports
Contains links to logs, update information, search information, and other
information about the site’s status.
Help
Lists help topics for installed modules that provide them.
The arrow button on the far right side of the second line of the toolbar (or far
left side, if the site is being viewed using a right-to-left-reading language
like Arabic) can be used to switch the menu from appearing horizontally at the
top of the page, to a vertical format on the left side (or right side, in
right-to-left languages). When viewed vertically, the menu becomes an
interactive tree.Administrative menu in vertical modeThis guide has a standard way to describe navigation to administrative pages
using the administrative toolbar. See for more
information.What are contextual links?Some administrative and editing functionality on the site can be accessed
through the contextual links displayed by the core Contextual Links module.
Contextual links take you to some of the same pages that you can access through
the administrative menu, but instead of having to navigate through the menu
hierarchy, these links are provided near where the related content is displayed
on your site.Contextual links have to be activated to be visible. If your site’s theme uses
the default styling for contextual links, a pencil icon is used to indicate that
contextual links are present and activated, and if you click the icon, you will
see the contextual links. There are two ways to activate the pencil icons that
provide access to the contextual links:
If you are using a mouse in a browser, the icon will temporarily appear when
you hover over an area that has related contextual links.
You can click the master pencil icon (or its Edit link) at the right end of
the top bar in the toolbar, which will activate all of the contextual links on
the current page. This icon is only visible on pages with contextual links.
Page with pencil icons turned onAttributionsWritten by Scott Wilkinson and
Jennifer Hodgdon.Editing Basic Site InformationSource file: config-basic.txtHow to edit basic site information (site name, slogan, and default time zone).ConfiguringsiteSite nameconfiguringSite sloganconfiguringSloganconfiguringSite taglineconfiguringTaglineconfiguringSite email addressconfiguringEmail addressconfiguringFront pageconfiguringError pageconfiguringRegional settingconfiguringLocale settingconfiguringCountry settingconfiguringTime zone settingconfiguringFirst day of weekconfiguringGoalChange basic site information such as Site name, Slogan,
Default time zone.Prerequisite knowledgeStepsConfiguring the basic site information
In the Manage administrative menu, navigate to Configuration > System >
Site information (admin/config/system/site-information) to change the Site
name, Slogan, administrative Email address, or the Default front page
path.
Fill in the available fields as appropriate for your site.
Field nameExplanationExample valueSite nameUsed to identify the site and displayed in browsersAnytown Farmers MarketSloganUsually displayed sitewideFarm Fresh FoodEmail addressUsed as From address in automated email messages (registrations, password resets, etc)info@example.comSite Information
After editing the fields, click Save configuration to see the changes
applied to the site.
Configuring default Regional settings
In the Manage administrative menu, navigate to Configuration >
Regional and Language > Regional settings
(admin/config/regional/settings).
Select the appropriate country from the Default country select list in the
Locale section, and set which day will be displayed as First day of week
on your site.
In the Time zones section, select the sitewide Default time zone from the
list and configure user-specific time zones.
Time Zones
After editing the fields, click
Save configuration to see the changes applied to the site.
Additional resourcesDrupal.org community documentation page "Getting started with Drupal 8 administration"AttributionsWritten and edited by Sree Veturi,
Michael Lenahan at
erdfisch,
and Antje Lorch.Installing a ModuleSource file: config-install.txtHow to install a core or contributed module, using the administrative interface or Drush.ModuleenablingModuleinstallingGoalInstall a core module, or a contributed module whose files have already been
uploaded to the site, through the administrative interface or using Drush.Prerequisite knowledgeSite prerequisitesIf you want to use Drush to install modules, Drush must be installed. See
.StepsYou can use the administrative interface or Drush to install modules.Using the administrative interface
In the Manage administrative menu, navigate to Extend
(admin/modules). The Extend page appears showing all the available modules
in your site.
Check the boxes for the module or modules you want to install. For example,
check the box for the core Activity Tracker module.
Enabling the core Activity Tracker module
Click Install. The checked modules will be installed.
Using Drush
In the Manage administrative menu, navigate to Extend
(admin/modules). The Extend page appears showing all the available modules
in your site.
Find the machine name of the module you want to install, by expanding the
information area for the module. For instance, the core Activity Tracker
module’s machine name is tracker.
Run the following Drush command to install the module:
drush en trackerAdditional resourcesDrushAttributionsWritten and edited by Boris Doesborg and
Jennifer Hodgdon.Uninstalling Unused ModulesSource file: config-uninstall.txtHow to uninstall modules to reduce overhead.Moduleuninstalling unusedUninstallingunused modulesPerformanceimprovingDrush toolusing to uninstall moduleGoalUninstall the core Search and History modules, as well as the core Activity
Tracker module if you installed it in , to reduce overhead.Prerequisite knowledgeSite prerequisites
You must have at least one unused module on your site that you want to
uninstall, such as the core Search module.
If you want to use Drush to uninstall modules, Drush must be installed. See
.
StepsYou can use the administrative interface or Drush to uninstall modules.Using the administrative interface
In the Manage administrative menu, navigate to Extend > Uninstall
(admin/modules/uninstall) where you will find the list of modules that are
ready to be uninstalled.
Check the boxes for the modules you are uninstalling (Search, History, and
Activity Tracker). Click Uninstall at the bottom of the page.
Uninstalling moduleYou cannot uninstall a module if it is required by some other module(s) and/or
functionality. For example, the core File module is required by the core Text
Editor, CKEditor, and Image modules. It can’t be uninstalled unless you
uninstall its dependent module(s) and functionality first. A module that cannot
be uninstalled yet will have a disabled checkbox, restricting you from
uninstalling it.
Step 2 will prompt you to confirm the module uninstall request. Click
Uninstall.
Confirm uninstall - search moduleUsing Drush
In the Manage administrative menu, navigate to Extend
(admin/modules). The Extend page appears showing all the available modules
in your site.
Find the machine name of the module you want to uninstall, by expanding the
information area for the module. For instance, the core Activity Tracker
module’s machine name is tracker.
Run the following Drush command to uninstall the module:
drush pm-uninstall trackerExpand your understanding
You can also uninstall the core Comment module by following these steps, but
only after comment fields have been removed, which is a side effect of
.
AttributionsWritten and edited by Surendra Mohan,
and Jojy Alphonso at
Red Crackle.Configuring User Account SettingsSource file: config-user.txtHow to change user account registration settings.Userconfiguring account settingAccount settingconfiguringSecuritymanaging user accountsSecurityuser account settingsGoalTurn off the ability for people to register user accounts on the site. Also,
review and/or edit the email messages generated by the site for events related
to user accounts.Prerequisite knowledgeSteps
In the Manage administrative menu, navigate to Configuration > People >
Account settings (admin/config/people/accounts).
Under Registration and Cancellation, select Administrators only as the
people with permissions to register user accounts. You can check Require email
verification when a visitor creates an account in case you want to change the
settings for account registration later on.
Account registration only by admin
Optionally, change the default email address from which user account
notifications from the farmers market website will be sent. This will help you
maintain a separate email address from the one used for the website in
general. For example, this email address for user account notifications will be
useful for a staff member(s) communicating with vendors.
Optionally, edit the email templates in the Emails section to customize
automated emails. There are seven email templates available with the core. They
are meant for different user-specific occasions. All of them can be personalized
and three can be disabled via checkboxes: activation, blocking, and
cancellation.
You can send out your own text (for example, welcoming the new vendors for whom
accounts were just created) by editing the the Welcome (new user created by
administrator) template.Email notification on account events
Click Save configuration to save the changes.
Expand your understandingRelated conceptsSee for more information about user accounts and permissions.Additional resourcesSecurity Guide can help
you with a more safety-focused approach to configuration.AttributionsWritten and edited by Laura Vass at
Pronovix, and
Jojy Alphonso at
Red Crackle.Configuring the ThemeSource file: config-theme.txtHow to edit a theme’s settings to update the color scheme and add a logo.ThemeconfiguringBartik themeconfiguringColor schemeconfiguringLogo imageconfiguringGoalEdit the settings of the default core Bartik theme to change the color scheme
and to add a logo.Prerequisite knowledgeSteps
In the Manage administrative menu, navigate to Appearance
(admin/appearance).
Under Installed Themes, you will find Bartik listed as your default
theme. Under Bartik (default theme), click Settings.
Default theme, Bartik
Under Color scheme, click inside each color build box and type the proper
color codes you would like to add. For example, use the
following colors:
Area ColorHeader background top#7db84a (green)Header background bottom#2a3524 (dark green)Main background#ffffff (white)Sidebar background#f8bc65 (light orange)Sidebar borders#e96b3c (orange)Footer background#2a3524 (dark green)Title and slogan#ffffff (white)Text color#000000 (black)Link color#2a3524 (dark green)Note: You can also use the color wheel on the right to select colors of your
choice. The web color codes will be added for you.Updated color specifications in the core Bartik theme
Under Logo Image Settings, uncheck Use the default logo supplied by the
theme.
New logo in core Bartik theme settings
Under Upload logo image, locate a logo file and upload it to your
site. Note: You can also set a universal logo for all themes under
Appearance > Settings (admin/appearance/settings). A custom logo for your
theme will override the universal logo.
Once you have selected the file you would like to upload, you will see its
filename next to the Choose File button.
In order to save your changes and see the updated colors and logo on your
site, click Save configuration at the bottom of the page.
Note: Under Color scheme, there is a Preview section that displays a sample
of how your website will look with the new settings.core Bartik theme settings preview
Click Return to site in the toolbar to verify that you have updated the
core Bartik theme settings for your website.
Final result of editing the core Bartik theme settings - colors and logoExpand your understandingAttributionsWritten and edited by Ann Greazel,
Amanda Luker at
Advomatic, and
Jack Haas.Basic Page ManagementSource file: guide.txtOverview of page management concepts. Tasks on content items, in-place editing, and menus are covered.Concept: Paths, Aliases, and URLsSource file: content-paths.txtOverview of paths, aliases, and URLs (with examples).PathoverviewAliasoverviewURL (Uniform Resource Locator)overviewUniform Resource Locator (URL)overviewURL aliasoverviewWhat is a URL?URL is the abbreviation for "Uniform Resource Locator", which is the page’s
address on the web. It is the "name" by which a browser identifies a page to
display. In the example "Visit us at example.com.", example.com is the URL
for the home page of your website. Users use URLs to locate content on the web.What is a Path?A path is the unique, last part of the URL for a specific function or piece of
content. For example, for a page whose full URL is http://example.com/node/7,
the path is node/7.Here are some examples of paths you might find in your site:node/7taxonomy/term/6admin/content/commentuser/loginuser/3What is an Alias?The core software has a feature called "URL Alias" that allows you to provide a
more understandable name to the content. So, if you have an "About Us" page with
the path node/7, you can set up an alias so that your visitors will see it as
http://www.example.com/AboutUs. The core Path module, which supports URL
aliasing, provides this functionality.Related topicsAttributionsAdapted by Diána Lakatos at
Pronovix from
"URL aliases", and
"Understanding Drupal paths"
copyright 2000-2016 by the individual contributors to the
Drupal Community DocumentationCreating a Content ItemSource file: content-create.txtHow to create a content item for use as the home page.Content itemcreatingBasic pagecreatingHome pagecreatingGoalCreate and publish a content item that will be used as the home page of the
site.Prerequisite knowledgeSite prerequisitesThe Basic page content type must exist. This is created on your site when you
install with the core Standard installation profile.Steps
In the Manage administrative menu, navigate to Content > Add content >
Basic page (node/add/page). The Create Basic page form appears.
Click Edit summary.
Fill in the fields as shown below.
Field name Explanation ValueTitleTitle of the page. Will also be used as a meta tag in the source code,
URL alias, and as label of the content item in administration screensHomeSummarySummary of the value of the body field. Can be used as teaser
in overview pagesOpening times and location of City Market.BodyFull content of the pageWelcome to City Market - your neighborhood
farmers market!Open: Sundays, 9 AM to 2 PM, April to SeptemberLocation: Parking lot of Trust Bank, 1st & Union, downtownURL path settings > URL aliasAlternate relative path for the content/homeBy clicking the Source button in the rich text editor toolbar, you can see the
HTML source code of the text that you are editing.Create a basic page
Click Preview to ensure everything looks like expected.
Click Back to content editing.
Click Save and publish. The content is saved and can be found on the
Content page.
Follow the same steps to create an About page, with title "About", and a body
telling about the history of the farmer’s market.
Expand your understandingRelated conceptsAdditional resourcesDrupal.org community documentation page "About nodes"AttributionsWritten by Agnes Kiss and
Boris Doesborg.Editing a Content ItemSource file: content-edit.txtHow to edit a content item.ContenteditingContentfindingEditing contentGoalUpdate the hours on the Home page content item.Prerequisite knowledgeSite prerequisitesA content item for the Home page must exist. See .Steps
In the Manage administrative menu, navigate to Content (admin/content).
If the content item you want to edit was updated or created recently, it
should appear near the top of the content list on that page. If not, you can
use the Type, Title, or other filters to locate the content item.
Content administration page
Click Edit in the row of the content item you want to edit (Home), to
open the content editing form. Update the opening hours in the Body field. See
for an explanation of the fields and a screenshot.
Check Create new revision in the box on the right, if it is not already
checked, and enter a Revision log message explaining what changes you are
making (for example, you might enter "Updated opening hours"). This text
will appear in the revision log for the page.
Revision information section of the content edit page
Click Save and keep published to save your changes.
You will be redirected back to the Content administrative page, and there
should be a message showing that the content item was updated.
Updated content messageExpand your understandingAs an alternative to the first two steps above, you can also reach the
content edit form as follows:
Starting from your site’s home page, use the site’s navigation menus to locate
the page where the content you want to edit is displayed to visitors.
Most themes will display an Edit link or tab near the top of that page to
people with permission to edit the page; clicking the link will take you to
the full content edit form.
You could also use the in-place editor (refer to )
from this page.
AttributionsWritten by Chris Dart
and Jennifer Hodgdon.Editing with the In-Place EditorSource file: content-in-place-edit.txtHow to edit content with the in-place editor.Editing contentContenteditingIn-place editorQuick editorFull editorGoalUse the in-place editor to add information to the About page without opening
the full editor page.Prerequisite knowledgeSite prerequisitesThe About page you want to edit must exist. See .StepsNavigate to the About page to edit content with the in-place editor. If the
page has not yet been added to a
navigation menu, you can find and open it by following these steps:
In the Manage administrative menu, navigate to Content (admin/content).
If the content item you want to edit was updated or created recently, it
should appear near the top of the content list on that page. If not, you can
use Type, Title, or other filters to locate the content item.
Find the About page and click it.
Once the content you want to edit is being viewed in your browser, follow these
steps to use the quick editor:
Find the section of the page that displays the content you want to edit, and
turn on quick editing mode using the Quick edit contextual link (see
for instructions on how to access contextual links). You
will see each editable field on this content item outlined in blue; also,
a hovering dialog box will appear.
Quick edit mode
Click the Body text area to begin editing. The Body field
supports a rich text editor. The editing toolbar will be displayed in a
hovering dialog box.
Add some information about City Market. A Save button will appear in the
hovering dialog box, and the field outline will change color.
Quick edit mode after editing
If you are satisfied with your edits, click Save in the hovering dialog
box. If not, click "x" to discard your edits, and confirm. Either way, quick
editing mode will be turned off.
Expand your understandingTry using the full editor on the same content (see ) and note
that there is much more information that can be edited that is not available in
the quick editor.AttributionsWritten and edited by David Lee and
Jennifer Hodgdon.Designating a Front Page for your SiteSource file: menu-home.txtHow to configure a content item so that it gets displayed as the home page.Front pageconfiguringHome pageconfiguringConfiguringhome pageGoalConfigure which content item is displayed as the front page of your website.Site prerequisitesThe content item that you want to designate as the front page of your site must
exist. See .Steps
In the Manage administrative menu, navigate to Configuration > System >
Site information (admin/config/system/site-information).
Under Front Page, replace /node with the name of the page you
would like to make the home page. To use the home page that was previously
created, provide its path /home. Click Save configuration.
FRONT PAGE area with /home in text field
Navigate to the home page to verify that it displays content as configured by
you.
FRONT PAGE with Home (Basic page) content addedExpand your understanding
Follow to create an error page to be used as a 404 (page
not found) or 403 (not authorized) response on your site. Then following the
steps here, you can designate it as the error response, in the Error pages
section of the configuration.
Related conceptsAttributionsWritten and edited by Ann Greazel,
Jack Haas, and
Jojy Alphonso at
Red Crackle.Concept: MenuSource file: menu-concept.txtOverview of the menu concept and menus automatically created with the core Standard installation profile.MenuoverviewMenumainMenuadministrativeMenuuser accountMenufooterMenucustomAdministrative menuoverviewUser account menuoverviewFooter menuoverviewCustom menuoverviewPrerequisite knowledgeWhat is a menu?Menus are a collection of links (menu items) used to navigate a website. The
core Menu UI module provides an interface to control and customize the menu
system. Menus are primarily displayed as a hierarchical list of links. By
default, new menu items are placed inside a built-in menu labeled Main
navigation, but administrators can also create custom menus. Each menu, whether
default or custom, has a block assigned to it.The core Standard installation profile contains five menus:
Main navigation
Links to sections intended for site visitors. They are usually created by site
administrators and displayed automatically in the page header of many themes.
Administration
Links to administrative tasks. This menu mainly contains links supplied by
modules on your site. If you have the core Toolbar module installed, this menu
is displayed when you click Manage. The contributed Admin Toolbar module
also displays this menu.
User account menu
Links to tasks associated with the user account such as My account and Log
out.
Footer
Links to important pages within the site intended for the footer. They are
usually created by site administrators. In order to display the footer, you
need to place the footer menu block in the footer region of your theme.
Tools
Links to tasks necessary for site visitors. Some modules feature their links
here.
You can also create your own custom menus, and display them by placing their
blocks. You can add custom menu items to a main menu, using the menu
administration functionality.You can customize menus in the following ways:
Reordering menu items by setting their "weight" or by dragging them into
place.
Renaming menu items.
Changing the link title (the tooltip that appears when you mouse over a menu
item).
Moving a menu item into a different menu by editing its Parent property.
A menu item will only be shown to a visitor if they have the rights to view the
page it links to. For example, the admin menu item is not shown to visitors who
are not logged in.Related topicsAttributionsWritten and edited by Ajay Viswambharan,
and Jojy Alphonso at
Red Crackle.Adding a Page to the NavigationSource file: menu-link-from-content.txtHow to add a page to the navigation.Menuadding a link to pagePageadding to menu while editingContentadding to menu while editingNavigationlinking menu to pageGoalAdd a page to the navigation. For example, the About page.Prerequisite knowledgeSite prerequisitesThe About page content item must exist. See .Steps
In the Manage administrative menu, navigate to Content (admin/content).
Find the About page, and click Edit in that row. The content editing form
appears.
Page edit link
Click Menu settings on the right to expand it.
Check Provide a menu link for the menu options to appear.
Enter values from the table below:
Field name Explanation Example valueMenu link titleTitle that will be displayed in the menuAboutDescriptionText that will be displayed when a visitor hovers over the linkHistory of the marketParent itemLocation of the page in the menu hierarchy. For example,
if you choose <Main navigation>, the page will appear in the highest
level of the navigation. By choosing another menu item as parent, you can
create a menu hierarchy of multiple levels.<Main navigation>WeightThe order in which the page should appear in the menu (lower-weighted
menu items will be shown before higher-weighted menu items)-2Creating a menu link from within the content edit form
Click Save and keep published to save the changes. Click Home or Return
to site in the navigation bar to see the result, which could look like the
picture below.
Link has been added to the main menuExpand your understandingAdditional resourcesDrupal.org community documentation page "Working with menus"AttributionsAdapted by Boris Doesborg from
"Working with Menus",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation;
edited by Jack Haas.Changing the Order of NavigationSource file: menu-reorder.txtHow to reorder items in a menu.Menu itemsreorderingNavigationchanging the order of menu itemsGoalReorder the items in a menu.Prerequisite knowledgeSite prerequisitesHome and About pages must exist in the main navigation menu. See
.Steps
In the Manage administrative menu, navigate to Structure > Menus
(admin/structure/menu) where all menus on your site are listed. Click Edit
Menu from the Operations dropdown for Main Navigation. You can also reach
this page using contextual links (refer to ) for the menu.
List of menus on the site with Main navigation highlighted
The Edit Menu page will display a list of each item in the menu you
chose (Main navigation).
List of menus items under Main navigation
Use the cross bar handles to reorder the menu items. Drag the Home menu item
above the About menu item so that it appears first.
Reordered menu items with warning message about unsaved changes and the Save button
Click Save.
The home page now displays the main navigation with the Home menu
item displayed first.
Reordered menu items on the home page with Home first and then AboutExpand your understandingAdd a menu item called Contact, leading to the /contact page, to your Main
navigation menu. The contact page is provided by the core Contact module; you
may want to edit its layout and fields (see ).Related conceptsAttributionsWritten by Ann Greazel.Setting Up Content StructureSource file: guide.txtOverview of content structure concepts. Tasks on content types, taxonomies, and reference fields are covered.Adding a Content TypeSource file: structure-content-type.txtHow to add and configure a new content type.Content typeaddingGoalAdd and configure a new content type Vendor.Prerequisite knowledgeSite prerequisitesYou need to have a plan in place for your content structure. See
.Steps
In the Manage administrative menu, navigate to Structure > Content types
(admin/structure/types). The Content types page appears showing all the
available types of content.
Click Add content type. The Add content type page appears. Fill
in the fields as shown below.
Field name Explanation Example valueNameName of the content typeVendorDescriptionExplain the use of the content typeInformation about a vendorAdding a Content type
In the vertical tab Submission form settings, configure the form that is
used for creating and editing content of this type. Fill in the fields as shown
below.
Field name Explanation Example valueTitleLabel of the Title field that is shown when editing or creating content of this type.Vendor namePreview before submittingOption to choose whether you should preview the content before submitting.OptionalExplanation or submission guidelinesInstructions for creating or editing content.(Leave blank)Submission form settings
In the vertical tab Publishing options, decide on default options for new
content of this type. Fill in the fields as shown below.
Field name Explanation Example valuePublishedMake the content item published by default.CheckedPromoted to front pageIn a default website, this setting can be used to show content on the homepage.UncheckedSticky at the top of the listIn a default website, this setting can be used to keep content on top of a list.UncheckedCreate new revisionCreate a new revision each time the vendor is being edited.CheckedChanging these settings does not affect the content items that have already been
created.Publishing Options
In the vertical tab Display settings, decide if the author and
publication date will be visible in the content item. Fill in the fields as
shown below.
Field name Explanation Example valueDisplay author and date informationDisplay the author username and publication date on each vendor page.UncheckedDisplay settings
In the vertical tab Menu settings, fill in the fields as shown below.
Field name Explanation Example valueAvailable menusMenus that this type of content can be added to. Vendors do not need to appear in menus, so uncheck all menu options.UncheckedMenu settings
Click Save and manage fields to save the content type. The
Manage fields page appears that allows you to add fields to the content
type. See Confirmation
Follow the same steps to create a content type for recipes. Example values
for the fields in the forms, where they are different from the steps above:
Field name Example valueNameRecipeDescriptionA recipe submitted by a vendorSubmission form settings - TitleRecipe nameExpand your understanding
Install and configure the contributed Pathauto module
so that content items get automatically generated URLs/path aliases. See for more on
URLs within your site, for instructions on finding
contributed modules, and for instructions on
downloading and installing contributed modules.
AttributionsWritten and edited by Sree Veturi,
Boris Doesborg, and
Jennifer Hodgdon.Deleting a Content TypeSource file: structure-content-type-delete.txtHow to delete a content type that is not required for the site.Content typedeletingGoalDelete the unneeded content type Article.Prerequisite knowledgeSite prerequisitesThe Article content type must exist. It is created on your site when you
install with the core Standard installation profile.Steps
In the Manage administrative menu, navigate to Structure > Content
types (admin/structure/types). The Content types page appears.
Click Delete in the Operations dropdown button for the Article content
type.
Article delete dropdown
A confirmation page is displayed. Click Delete.
Article delete confirmation page
The Content types page appears with a confirmation message saying that the
content type has been deleted:
Article delete confirmation messageAttributionsWritten and edited by Sree Veturi
and Boris Doesborg.Adding Basic Fields to a Content TypeSource file: structure-fields.txtHow to add fields to a content type.Content typeadding field toFieldadding to content typeImage fieldaddingURL fieldaddingGoalAdd a link field and an image field to the Vendor content type.Prerequisite knowledgeSite prerequisitesThe Vendor content type must exist. See .StepsAdd the fields Vendor URL and Main image to the Vendor content type.
In the Manage administrative menu, navigate to Structure > Content
types (admin/structure/types). Then click Manage fields in the dropdown
button for the Vendor content type. The Manage fields page appears.
Click Add field. The Add field page appears. You can either create a new
field for the content type or re-use an existing field.
Fill in the fields as shown below.
Field name Explanation ValueAdd a new fieldField typeLinkLabelLabel that is visible in administration pagesVendor URLA machine name is automatically generated, based on the Label value. Click
Edit if you want to override the default name.Add field page
Click Save and continue. The page Vendor URL appears which lets you set
the allowed number of values. Fill in the fields as shown below.
Field name Explanation ValueAllowed number of valuesThe number of values that can be enteredLimited, 1
Click Save field settings. The page Vendor URL settings for Basic page
appears which allows you to configure the field. Fill in the fields as shown
below.
Field name Explanation ValueLabelLabel that is visible in the content formVendor URLHelp textThe instruction that is shown below the field(leave blank)Required fieldWhether the field is required or notUncheckedAllowed link typeThe kind of links that can be enteredExternal links onlyAllow link textWhether a link text can be enteredDisabledField settings page for Vendor URL
Click Save settings. The Vendor URL has been added to the content
type. Continue creating the Main image field.
Click Add field. The Add field page appears. Fill in the fields as shown
below.
Field name Explanation ValueAdd a new fieldField typeImageLabelLabel that is visible in administration pagesMain image
Click Save and continue. The page Main image appears. Fill in the fields
as shown below.
Field name Explanation ValueAllowed number of valuesThe number of values that can be enteredLimited, 1You can set a default image here. This will be used when you do not provide an
image when creating a Vendor content item.
Click Save field settings. The page Main image settings for Basic page
appears. Fill in the fields as shown below.
Field name Explanation ValueLabelLabel that is visible in the content formMain imageHelp textThe instruction that is shown below the field(leave blank)Required fieldWhether the field is required or notCheckedAllowed file extensionsThe type of images that can be uploadedpng, gif, jpg, jpegFile directoryThe directory where the files will be stored. By providing a file directory value, you ensure that all images uploaded via the Main image field will be located in the same directory.vendorsMinimum image resolutionThe minimum resolution of the uploaded image600 x 600Maximum upload sizeThe maximum file size of the uploaded image5 MBEnable Alt fieldWhether an alternative text can be enteredCheckedAlt field requiredWhether an alternative text is requiredCheckedField settings page for Main Image
Click Save settings. Main image has been added to the content type.
Manage fields page
Add a Main image field to the Recipe content type, using similar steps. Start
by navigating to the Recipe content type’s Manage Fields page in step 1. Then
skip to step 7 and follow the remaining steps, but reuse the existing Main image
field you created for the Vendor content type rather than creating a new
field. In subsequent steps, some of the configuration screens will not be
available, because of the field reuse.
Create two Vendor content items (see ) called "Happy Farm"
and "Sweet Honey". Make sure that they include images and URLs.
Expand your understandingAdditional resourcesDrupal.org community documentation page "Add a field to a content type"AttributionsWritten by Sree Veturi and
Boris Doesborg.Concept: Reference FieldsSource file: structure-reference-fields.txtOverview of reference fields and their commonly-used types.Reference fieldoverviewReference fieldcontentReference fieldtaxonomy termReference fielduserFieldreferenceFieldcontent referenceFieldtaxonomy term referenceFielduser referenceTaxonomy term reference fieldoverviewUser reference fieldoverviewContent reference fieldoverviewPrerequisite knowledgeWhat is a reference field?A reference field is a field that represents a relationship between an entity
and one or more other entities, which may belong to the same or different entity
type. The three most commonly-used reference fields are:
Content reference
A reference to a content item. For example, you might want to connect recipes
to the vendors who submitted them. You would set up a content reference field
called Submitted by referencing Vendor content items on the Recipe content
type.
Taxonomy term reference
A reference to a taxonomy term. For example, you might want to connect recipes
to their ingredients. You would set up a taxonomy term reference field called
Ingredients on the Recipe content type. This reference field will point to the
vocabulary Ingredients.
User reference
A reference to a user account. For example, you might want to connect recipes
with their chefs. You would set up a user reference field called Chefs on the
Recipe content type.
Related topicsAttributionsWritten and edited by Surendra Mohan,
and Jojy Alphonso at
Red Crackle.Concept: TaxonomySource file: structure-taxonomy.txtOverview of taxonomy and how it can be used to categorize content in a website.TaxonomyoverviewTerm (taxonomy)overviewTerm (taxonomy)free taggingTerm (taxonomy)fixed listVocabularyoverviewPrerequisite knowledgeWhat is Taxonomy?Taxonomy is used to classify website content. One common example of taxonomy
is the tags used to classify or categorize posts in a blog website; the farmers
market website could use an ingredients taxonomy to classify recipes.
Individual taxonomy items are known as terms (the blog tags or recipe
ingredients in these examples); and a set of terms is known as a vocabulary
(the set of all blog post tags, or the set of all recipe ingredients in these
examples). Technically, taxonomy terms are an entity type and the entity
subtypes are the vocabularies. Like other entities, taxonomy terms can have
fields attached; for instance, you could set up an image field to contain an
icon for each term.An individual vocabulary can organize its terms in a hierarchy, or it could be
flat. For example, blog tags normally have a flat structure, while a recipe
ingredients vocabulary could be hierarchical (for example, tomatoes could be a
sub-term of vegetables, and under tomatoes, you could have green and red
tomatoes).Taxonomy terms are normally attached as reference fields to other content
entities, which is how you can use them to classify content. When you set up a
taxonomy reference field, you can let users enter terms in two ways:
Free tagging
New terms can be created right on the content editing form.
Fixed list of terms
The list of terms is curated and managed outside the content editing form, and
users can only choose from the existing list when editing content.
Taxonomy reference fields can be added to any entity, such as user accounts,
custom blocks, or regular content items. If you use them to classify regular
content items, your site will automatically be set up with
taxonomy listing pages for each term; each of these pages lists all of the
content items that are classified with that term. For example, if you created
several recipes that all had carrots as an ingredient, you might see something
like this on the Carrots taxonomy listing page:Taxonomy listing page - CarrotsRelated topics.
The listing pages are views, which are covered in .
AttributionsAdapted and edited by Surendra Mohan,
Jennifer Hodgdon,
and Jojy Alphonso at
Red Crackle from
"Organizing content with taxonomies"
and "About taxonomies",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Setting Up a TaxonomySource file: structure-taxonomy-setup.txtHow to create a taxonomy vocabulary and add it as a field to a content type.TaxonomycreatingVocabularycreatingMetadatacreatingTerm listcreatingGoalCreate an Ingredients vocabulary and add it to the Recipe content type as
a field that can contain an unlimited number of values and that allows adding
new terms to the vocabulary.Prerequisite knowledgeSite prerequisitesThe Recipe content type must exist. See .Steps
In the Manage administrative menu, navigate to Structure > Taxonomy
(admin/structure/taxonomy). You will see the Tags vocabulary that was
created with the core Standard installation profile.
taxonomy list page
Click Add vocabulary, and fill in the values below.
Field name Explanation Example valueNameThe name of the vocabularyIngredientsDescriptionA brief note about the vocabulary(Leave blank)taxonomy add Ingredients
Click Save. You will be taken to the Ingredients page, which shows a list
of all the terms in this vocabulary.
Ingredients taxonomy term listing
Click Add term. Enter "Butter" in the Name field. Click Save.
Add term page
You will receive a confirmation about the term you created. Add more
terms. For example, "Eggs" and "Milk".
In the Manage administrative menu, navigate to Structure > Content Types
(admin/structure/types). Click Manage fields for your Recipe content type.
Click Add field, and enter values from the table below. Click Save and
continue.
Field name Explanation ValueAdd a new fieldSelect the field typeReference > Taxonomy termLabelThe title to give the fieldIngredientsAdd Ingredients field to Content type Recipe
On the following configuration screen, enter the values from the table below.
Click Save field settings.
Field name Explanation ValueType of item to referenceThe type of entity that is referenced by the fieldTaxonomy termAllowed number of valuesThe number of values a user can enterUnlimitedField storage settings for Ingredients field
On the following configuration screen, enter the values from the table below. Click Save settings.
Field name Explanation ValueHelp textHelp shown to users creating contentEnter ingredients that site visitors might want to search forReference type > Reference methodSelect the method used to choose allowed valuesDefaultReference type > Available VocabulariesSelect the vocabulary to choose allowed values fromIngredientsReference type > Create referenced entities if they don’t already existWhether new ingredient terms can be created from the content editing formCheckedreference type field settings
Click Save settings. You will be taken back to the Manage Fields page. A
message will be displayed saying that the configuration for Ingredients is
complete.
Manage fields page for Recipe content typeAttributionsWritten and edited by Bob Snodgrass,
and Jojy Alphonso at
Red Crackle.Adding a Reference FieldSource file: structure-adding-reference.txtHow to add a reference field that connects two content types.Reference fieldaddingFieldfor adding referencesEntity reference fieldaddingContent reference fieldaddingUser reference fieldaddingTaxonomy term reference fieldaddingGoalAdd a reference field so that recipes can be linked to the vendor that has
submitted it.Prerequisite knowledgeSite prerequisitesThe Recipe and Vendor content types must exist. See .Steps
In the Manage administrative menu, navigate to Structure > Content
types (admin/structure/types). Then click Manage fields in the
dropdown button for the Recipe content type. The Manage fields page appears.
Click Add field. The Add field page appears. Fill in the fields as shown
below. Click Save and continue.
Field name Explanation ValueAdd a new fieldOption to specify the field typeReference > ContentLabelThe title you want to give the fieldSubmitted byAdding a reference field to a content type
The page Submitted by appears which lets you set the allowed number of
values. Fill in the fields as shown below. Click Save field settings.
Field name Explanation ValueType of item to referenceOption to select the type of referenced itemContentAllowed number of valuesSpecify the count of values associated with the fieldLimited, 1Storage configuration of a reference field
The page Submitted by settings for Recipe appears which allows you to
configure the field. Fill in the fields as shown below. Click Save settings.
Field name Explanation ValueLabelTitle shown for this field on the pageSubmitted byHelp textBrief text aiding the person creating contentChoose the vendor that submitted this recipeRequired fieldWhether a value has to be provided or notCheckedReference methodOption to select reference methodDefaultContent typesSpecify the content typeVendorSort bySorting fieldTitleSort directionSorting orderAscendingSettings for a reference field
The Submitted by field has been added to the content type.
Manage fields page for the Recipe content typeAttributionsWritten and edited by Boris Doesborg,
and Jojy Alphonso at
Red Crackle.Concept: Forms and WidgetsSource file: structure-widgets.txtOverview of forms and widgets.Content editing formoverviewWidgetoverviewFieldoverviewFormoverviewPrerequisite knowledgeWhat are forms and widgets?The content management system software that your site is running allows
administrators to edit content and configure settings online, using various web
forms. In particular, content editing forms are used to edit your site’s
content, and they are configurable by administrators; settings configuration
forms are provided by modules and cannot themselves be configured.The data in your site’s content is stored in one or more fields that are
attached to the content type and/or sub-type. When you configure the content
editing form for each content sub-type, you can:
Select a widget for each field. A widget defines the method used to enter
the data for the field. For example, a taxonomy term can be chosen using
an autocomplete field, a select list, or a tags-style field that lets editors
add new tags automatically.
Configure widget settings. For example, you can choose the size of a
plain-text entry field.
Hide one or more fields from the editing form.
Reorder the fields.
In principle, you can also have multiple content editing forms available for
each content sub-type. This feature is rarely used, however; the only exception
in common use is for the user profile fields: you can use different forms for
user registration and user editing. For example, you might have a limited set of
fields shown when users first register on the site, and more fields shown later
on when they edit their profiles.Related topicsAttributionsWritten by Jennifer Hodgdon.Changing Content Entry FormsSource file: structure-form-editing.txtHow to edit a content entry form.Contentediting entry formGoalChange the Recipe form to use a different widget to enter terms in the
Ingredients field.Prerequisite knowledgeSite prerequisitesThe Recipe content type must exist, and it must have an Ingredients taxonomy
term reference field. See and
.Steps
In the Manage administrative menu, navigate to Content > Add content >
Recipe (node/add/recipe) to look at the content entry form that is set up by
default. Notice how you have to enter ingredients one by one, instead of having
a more compact format.
In the Manage administrative menu, navigate to Structure > Content
types (admin/structure/types). Then click Manage form display on the
dropdown button for the Recipe content type. The Manage form display page
appears.
For the Ingredients field, select Autocomplete (Tags style) in the Widget
column.
Manage the Recipe form
Click Save.
In the Manage administrative menu, navigate to Content > Add content >
Recipe (node/add/recipe) to verify the changed behavior of the content
form. The Ingredients field is now a single text field that accepts multiple
values.
Add a recipe
Create two Recipe content items (see ), such as recipes for
"Green Salad" and "Fresh Carrots". Make sure all the fields have values,
including images, ingredients, and submitted by (set this to one of the Vendor
content items you created in ).
Expand your understandingChange the main site Contact form by navigating in the Manage administrative
menu to Structure > Contact forms. For instance, you may want to hide the
Send yourself a copy or Language fields.AttributionsWritten by Boris Doesborg.Concept: View Modes and FormattersSource file: structure-view-modes.txtOverview of view modes and field formatters.View modeoverviewEntity view modeoverviewFormatteroverviewField formatteroverviewPrerequisite knowledgeWhat is a View mode?How an entity (such as content, a user or a comment) is displayed, depends on
the context in which it is shown. This context is known as a view
mode. Examples of view modes are:
a full page of the content with all the field values
a teaser of the content with a thumbnail image and a Read more link
a full user profile with a zoomable portrait photo
a user avatar with username and a link to the profile
Every view mode can be configured through the administration pages. To see the
configuration options for the view modes of the Recipe content type, navigate
in the Manage administrative menu to Structure > Content types
(admin/structure/types) and click Manage display from the dropdown
button. In each view mode, all fields can be hidden or displayed, and if they
are displayed, you can choose and configure the field formatter.What is a field formatter?A field formatter is a setting for displaying the field values. For example,
long text fields can be displayed trimmed or full-length, and taxonomy term
reference fields can be displayed in plain text or linked to the taxonomy term
page. Consult the Manage display page to see the field formatters for the
fields of the Recipe content type.Related topicsAdditional resourcesDrupal.org community documentation page "View modes"AttributionsAdapted by Boris Doesborg from
"View modes",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Changing Content DisplaySource file: structure-content-display.txtHow to make content items more presentable.Content displaychangingContent displaymanagingContentdisplayingGoalMake the content items more readable, accessible, and visibly attractive by
reordering the fields, hiding labels, and tuning the output of the fields.Prerequisite knowledgeSite prerequisitesThe Vendor content type must exist, it must have Main Image and Vendor URL
fields, and your site must have at least one Vendor content item. See
, , and .Steps
Find and view a Vendor content item you created in .
Notice that there are several things that could be done to improve how the page
looks:
The Main Image and Vendor URL fields should not have labels.
The order of the fields should be changed so that the image comes first.
The image should be smaller.
To fix the first two problems, and update some additional settings, in the
Manage administrative menu, navigate to Structure > Content types
(admin/structure/types). Then click Manage display in the dropdown button
for the Vendor content type.
Manage display
Under the Label column, select Hidden for Main image. Do the same
for Vendor URL.
Selecting main image title as hidden
Click the gear for the Vendor URL field. Clear the Trim link text length
setting. Links will no longer have a trim length. Check the Open link in new
window checkbox. Now, when the link is clicked, it will open in a new browser
window. Click Update.
Link trim length
Drag the cross arrows next to the field items to reorder as Main image,
Body, Vendor URL, and Links.
Changing order of fields
Click Save.
Find the Vendor content item from step 1 again, and verify that the updates
have been made.
Repeat similar steps to manage the display of the Recipe content type
fields.
Expand your understandingMake the main image smaller. See .Related conceptsAdditional resourcesDrupal.org community documentation page "Specify how fields are displayed"Drupal.org community documentation page "Rearrange the order of fields"Drupal.org community documentation page "View modes"AttributionsWritten by Ann Greazel and
Boris Doesborg.Concept: Image StylesSource file: structure-image-styles.txtOverview of image styles and how they are used to display a single image in several variations.Image styleoverviewStyleimageImage effectoverviewEffectimagePrerequisite knowledgeWhat are image styles?Image styles allow you to upload a single image but display it in several ways;
each display variation, or image style, is the result of applying one or more
effects to the original image.As an example, you might upload a high-resolution image with a 4:3 aspect ratio,
and display it scaled down, square cropped, or black-and-white (or any
combination of these effects). The core software provides a way to do this
efficiently:
Configure an image style with the desired effects on the Image styles page
(admin/config/media/image-styles).
The effects will be applied the first time a particular image is requested in
that style.
The resulting image is saved.
The next time that same style is requested, the saved image is retrieved
without the need to recalculate the effects.
The core software provides several effects that you can use to define styles;
others may be provided by contributed modules.Visit the Image styles page via the Manage administrative menu, navigate to
Configuration > Media > Image styles (admin/config/media/image-styles)
to see the image styles that are defined by default.Related topicsAdditional resourcesDrupal.org community documentation page "Working with images in Drupal 7 and 8"AttributionsAdapted and edited by Boris Doesborg,
and Jojy Alphonso at
Red Crackle, from
"Working with images in
Drupal 7 and 8",
copyright 2000-2016 by the individual contributors to the
Drupal Community DocumentationSetting Up an Image StyleSource file: structure-image-style-create.txtHow to add an image style to reformat an image.Image stylecreatingStyleimageEffectimageImageresizingGoalAdd an image style and use it to display images on Vendor pages.Prerequisite knowledgeSite prerequisites
Vendor and Recipe content types must exist. See .
Main image fields must exist for both content types. See .
Content items must exist for both content types. See
, , and .
Steps
In the Manage administrative menu, navigate to Configuration > Media >
Image styles (admin/config/media/image-styles).
Click Add image style.
Enter the name Extra medium (300x200)
Click Create new style. The page Edit style Extra medium
(300x200) appears.
In the Effect table, select Scale and crop. Click Add.
Fill in the fields as shown below.
Field name ValueWidth300Height200
Click Add effect. The image style is saved with the chosen effects.
Add an image style
In the Manage administrative menu, navigate to Structure > Content types
(admin/structure/types).
Click Manage display in the Operations dropdown for the Vendor content
type. The Manage display page (admin/structure/types/manage/vendor/display)
appears.
Ensure that the secondary tab Default is selected.
Click the cogwheel next to Main image for the configuration options.
Fill in the fields as shown below.
Field name ValueImage styleExtra medium (300x200)Link image toNothingChange field formatter settings of image field
Click Update.
Click Save. The new image style will be used while displaying Vendor
content.
Open a Vendor content item and verify that it now shows up with the
scaled-down image. See for information on how to locate an
existing content item.
Repeat steps 8-15 for the Recipe content type.
Related conceptsAdditional resourcesDrupal.org community documentation page "Working with images in Drupal 7 and 8"AttributionsAdapted and edited by Boris Doesborg, and
Jojy Alphonso at
Red Crackle from
"Working with images in
Drupal 7 and 8",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Concept: Responsive Image StylesSource file: structure-image-responsive.txtOverview of responsive image styles, which allow you to provide different images for different screen sizes.Responsive image styleoverviewImage styleresponsiveBreakpointoverviewHTML5 picture tagand responsive imagesPrerequisite knowledgeWhat are responsive image styles?The core Responsive Image module provides responsive image styles. This allows
you to have images in your website that are specifically sized for different
screen sizes. This is useful, for example, to make your site load faster on
mobile devices because image sizes are optimized for smaller screens.A responsive image style is a mapping between images styles and breakpoints.
Breakpoints are the points where a responsive design needs to change in order
to respond to different screen sizes. Responsive image styles can only be used
if the breakpoints are defined in the theme.When a responsive image style is defined, it can be used in the display settings
for Image fields. This allows the site to display responsive images using the
HTML5 picture tag.Related topicsAdditional resourcesDrupal.org community documentation page "Responsive web design"Drupal.org community documentation page "Responsive images in Drupal 8"Drupal.org community documentation page "Working with breakpoints in Drupal 8"AttributionsAdapted by Boris Doesborg from
Responsive
images in Drupal 8,
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Concept: Text Formats and EditorsSource file: structure-text-formats.txtOverview of text formats, filters, editors, and cross-site scripting.Text formatoverviewUser-entered contentfilteringSecuritytext formatSecuritycross-site scriptingCross-site scripting (XSS)preventing
(((XSS (Cross-site scripting),preventing))What are text formats and filters?Text formats change how HTML tags and other text are processed and displayed
on your site. Text formats are composed of a series of filters, each of which
transforms text. When users create content, a text format is associated with the
content, and the full, original text is stored in the database. The content is
then passed through the filters in the text format before it becomes output on
the site.The core Filter module provides text format functionality, and the core Standard
installation profile sets up Basic HTML, Restricted HTML, and Full HTML
text formats. Each text format has an associated permission, so that you can
allow only trusted users to use permissive text formats. This restricts
untrusted users to text formats like Basic HTML, which filters out dangerous
HTML tags.What are the editors associated with text formats?Each text format can be associated with an editor, such as a visual WSYIWYG
(What You See Is What You Get) HTML editor. The core Text Editor module provides
the ability to associate editors with text formats, and to configure the editors
(such as adding and removing buttons from their toolbars). The core CKEditor
module provides the industry-standard editor known as CKEditor, so that it can
be used to edit HTML content on your site.What is cross-site scripting?Cross-site scripting (XSS) is a security vulnerability typically found in
websites. In a site that is not well protected, malicious users can enter script
into web pages that are viewed by other users (for example, in a comment or in
the body of a page). A cross-site scripting vulnerability may be used by
attackers to login as another user. It is important to configure the text
formats of your website to prevent such abuse.Related topicsAdditional resourcesDrupal.org community
documentation page "Filter module: text formats that filter user input"Wikipedia page "Cross-site
scripting"AttributionsWritten and edited by Boris Doesborg and
Jennifer Hodgdon.Configuring Text Formats and EditorsSource file: structure-text-format-config.txtHow to make a change to a text format and its editor configuration.Text formatconfiguringConfiguringtext formatEditorconfiguringCkeditor text editordefault assignment to text formatWYSIWYG (What You See Is What You Get)configuring editorWhat You See Is What You Get (WYSIWYG)configuring editorModuleFilterModuleEditorModuleCKEditorFilter moduleconfiguringEditor moduleconfiguringCKEditor moduleconfiguringGoalAdd a horizontal rule tag to the Basic HTML text format, and a corresponding
button to its editor configuration.Prerequisite knowledgeSite prerequisites
The core Filter, Editor, and CKEditor modules must be installed. They are
installed on your site when you install with the core Standard installation
profile.
The Basic HTML text format must exist. This is created on your site when you
install with the core Standard installation profile.
Steps
In the Manage administrative menu, navigate to Configuration > Content
authoring > Text formats and editors (admin/config/content/formats). The
Text formats and editors page appears.
Click Configure for the Basic HTML text format. The Basic HTML page
appears.
Note that Ckeditor is selected in the Text editor field. This allows you
to configure the editor’s toolbar.
Drag the horizontal rule button from Available buttons to Tools in
Active toolbar. You may need to click the Show group names link to see the
Tools group name.
Configuring the editor
Note that you can change the Filter processing order.
In the field Allowed HTML tags, add <hr> to what is already present.
Configuring the HTML tags
Click Save configuration. You will be taken back to the Text formats and
editors page. A message will be displayed saying that the text format has been
updated.
Confirmation message for text format configurationAttributionsWritten by Boris Doesborg.Managing User AccountsSource file: guide.txtOverview of user account concepts and details of common user account tasks.Concept: Users, Roles, and PermissionsSource file: user-concept.txtOverview of user accounts, permissions, and roles.UseroverviewRoleoverviewUser roleoverviewPermissionoverviewAnonymous useroverviewAuthenticated useroverviewAdministrative user accountoverviewWhat are Users?Anyone who visits your website is a user, including you. There are three
groups of users:
Users who are not logged in, or anonymous users
Users who are logged in, or authenticated users
The administrative user account that was automatically created when you
installed your site, or User 1. See .
What are Permissions?The ability to do actions on your site (including viewing content, editing
content, and changing configuration) is governed by permissions. Each
permission has a name (such as View published content) and covers one action
or a small subset of actions. A user must be granted a permission in order to do
the corresponding action on the site; permissions are defined by the modules
that provide the actions.What are Roles?Rather than assigning individual permissions directly to each user, permissions
are grouped into roles. You can define one or more roles on your site, and
then grant permissions to each role. The permissions granted to authenticated
and anonymous users are contained in the Authenticated user and Anonymous
user roles, and depending on the installation profile you used when you
installed your site, there may also be an Administrator role that is
automatically assigned all permissions on your site.Each user account on your site is automatically given the Authenticated user
role, and may optionally be assigned one or more additional roles. When you
assign a role to a user account, the user will have all the permissions of the
role when logged in.It is a good practice to make several roles on your site. In the farmers market
site example, you might want the following roles:
A Vendor role that allows vendors to edit their own vendor listing page
A Content editor role for editing the general farmers market pages
A User manager role for managing the vendor accounts
The Administrator role that was installed with your site, for expert users
to manage the site configuration
Related topicsAdditional resourcesDrupal.org community documentation page "Users, roles and permissions"Drupal.org community documentation page "Managing Users"Drupal.org community documentation page "User Roles"AttributionsAdapted by Mark LaCroix,
Boris Doesborg, and
Jennifer Hodgdon from
"User Roles",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Concept: The User 1 AccountSource file: user-admin-account.txtOverview of the User 1 account, also known as the root account or administrative account.UserrootUseruser oneUseradministrativeSecurityuser one accountPrerequisite knowledgeWhat is the user 1 account?During the installation of your site, you created the first user account. Each
user account internally has a numeric user ID, and since the ID of this user is
one, it is commonly referred to as the user 1 account. This user account is
special, because independent of what roles it is assigned, someone logged in as
user 1 has permission to do all actions on the site, including viewing and
editing all content, editing any user account, changing site configuration,
installing and uninstalling modules, and running the update script.Because of this level of permission, some people refer to this account as the
root user, similar to the "root" user account that has full administrative
permissions in Linux and other operating systems.It is usually better to make separate accounts for each administrative user,
giving them the Administrator role, rather than having all administrative
users log in using the user 1 account. There are several reasons for this:
Some actions and updates on the site are logged, and if everyone uses the same
account, it is difficult to know who did them if you have questions.
The Administrator role permissions can be modified to be safer than the
full permissions of the user 1 account, so that people do not inadvertently
change site features that shouldn’t be changed.
People’s responsibilities on a site may change over time. With ordinary user
accounts, this can be mirrored in permissions by assigning or unassigning
roles to their user accounts. If they are all using the user 1 account,
this is more difficult.
On some sites, the author of content or comments is displayed or tracked, and
if everyone uses the same account to create content, it is difficult to know
who created the content.
It is not possible to delete the user 1 account from the administrative user
interface. It would be possible to do with a database query, but it could cause
problems in your site and is not advisable.Additional resourcesDrupal.org community documentation page "Accounts and roles"AttributionsWritten and edited by Mark LaCroix
and Jennifer Hodgdon.Creating a RoleSource file: user-new-role.txtHow to create a new role.User rolecreatingRolecreatingRoleanonymous userRoleauthenticated userRoleadministratorGoalCreate a Vendor role to allow some - but not all - users to perform specific
tasks.Prerequisite knowledgeSteps
In the Manage administrative menu, navigate to People > Roles
(admin/people/roles).
You will find default roles Anonymous user,
Authenticated user, and Administrator already present.
Roles page
Click Add Role to add a custom role.
Type Vendor in the Role name field. Click Save.
adding vendor as a role
You will see the message "Role Vendor has been added." displayed at the top
of the page.
vendor role added success messageExpand your understandingAdditional resourcesDrupal.org community documentation page "User Roles"AttributionsAdapted and edited by Jack Probst,
Boris Doesborg, and
Joe Shindelar from
"User Roles", copyright 2000-2016 by the
individual contributors to the Drupal
Community DocumentationCreating a User AccountSource file: user-new-user.txtHow to create a user account.Usercreating accountGoalCreate Vendor user accounts for Sweet Honey and Happy Farm vendors.Prerequisite knowledgeSite prerequisitesThe Vendor role must exist on your site. See .Steps
In the Manage administrative menu, navigate to People (admin/people).
Click Add user.
Form for creating a new user account
Fill in the form fields. See the table below.
Field name Explanation Example valueEmail addressA valid email address for the vendor. All emails from the system will be sent to this address. The email address is not made public.honey@example.comUsernameA username for the vendor that they will use to sign in or author content items. Spaces are allowed; punctuation is not allowed except for periods, hyphens, apostrophes, and underscores.Sweet HoneyPasswordA password the vendor will use to sign in to the site. You can see how safe the password is on the Password strength gauge. You also get tips on how to make it safer.(Make a secure password)Confirm passwordType the same password to avoid any typing mistakes.(Repeat password)StatusSet the status of the user account. Blocked users will not be able to sign in.ActiveRolesSet the role of the user account.VendorNotify user of new accountWhether or not to send a notification to the vendor’s email address.CheckedPictureClick Browse and select a picture to upload. Pay attention to size restrictions.Photo of the vendorContact settingsEnable or disable the display of a contact form for the account.Checked
Click Create new account. You will get a notification about the user account
creation.
New user account has been created
Create a second Vendor account for Happy Farm by following the steps above.
Expand your understandingCreate a user account for yourself.AttributionsWritten by Diána Lakatos
at Pronovix.Assigning Permissions to a RoleSource file: user-permissions.txtHow to assign a permission to a role.PermissionchangingPermissiongrantingPermissiondenyingRolechanging permissionSecurityassigning permissionGoalChange the permissions for the Vendor role so that users can create, edit,
and delete Recipe and Vendor content, format the content, and contact each
other.Prerequisite knowledgeSite prerequisitesThe Vendor role must exist on your site. See .Steps
In the Manage administrative menu, navigate to People > Roles
(admin/people/roles). The Roles page appears.
Click Edit permissions in the dropdown for the Vendor
role. The Edit role page appears where you can see all the available
actions for the website such as, for example, Post comments or Use advanced
search. The available permissions depend on the modules that are installed in
the site. Note: Some permissions may have security implications. Be cautious
while assigning permissions to roles.
Check the boxes for the following permissions, listed by module:
Module PermissionContactUse users' personal contact formsFilterUse the Restricted HTML text formatNodeRecipe: Create new contentNodeRecipe: Edit own contentNodeRecipe: Delete own contentNodeVendor: Edit own contentQuick EditAccess in-place editingGranting users with the Vendor role the rights to create, delete and edit Recipes
Click Save permissions. You will get a message saying your changes have been
saved.
Confirmation message after updating permissionsExpand your understanding
Log in as one of the new users you created in . Verify
whether you have the correct permissions.
Related conceptsAdditional resourcesDrupal.org community documentation page "Managing Users"AttributionsAdapted and edited by Boris Doesborg,
Brian Emery,
and Jojy Alphonso at
Red Crackle, from
"User Roles",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Changing a User’s RolesSource file: user-roles.txtHow to change or add roles for a user.User rolechangingRolechangingPermissionchanging roleGoalChange or add roles to a given user, either by editing a single-user or by
applying a bulk operation.Prerequisite knowledgeSite prerequisitesThe user account that you want to update, and the role you want it to have, must
already exist. See , , and
.StepsUpdating the roles using single-user editing method
In the Manage administrative menu, navigate to People
(admin/people).
Locate the user 1 account (named "admin") to assign it the Administrator
role. If it is not immediately visible, use the Name or email contains filter,
or other filters, to narrow down the list.
Click Edit to update the user account.
People page
On the Edit page, scroll down to Roles section. Check the Administrator
role for the user account.
Roles section of user edit page
Click Save to update the user account. You should be returned to the
People page and see a message saying that the changes have been saved.
Confirmation messageUpdating the roles using bulk editing method
If the users Happy Farm and Sweet Honey did not already have the Vendor role,
here is how you would add it. In the Manage administrative menu, navigate to
People (admin/people).
Locate Vendor user accounts Sweet Honey and Happy Farm and check them. If
they are not immediately visible, use the Name or email contains filter, or
other filters, to narrow down the list.
Select Add the Vendor role to the selected users from the With selection
select list.
People page with bulk operation set up
Click Apply. You should see a message indicating that the desired changes
were made.
Confirmation messageAttributionsWritten by Chris Dart
and Jennifer HodgdonAssigning Authors to ContentSource file: user-content.txtHow to assign authorship of content items to a user account.AuthorassigningContentassigning authorGoalAssign Vendor content items Happy Farm and Sweet Honey to the corresponding
Vendor user accounts, so they can edit their own Vendor profiles on the site.Prerequisite knowledgeSite prerequisites
The Vendor content type must exist, and your site must have at least two
Vendor content items. See , , and
.
User accounts for at least two vendors must exist. See .
Steps
In the Manage administrative menu, navigate to Content (admin/content).
Find Vendor content item Happy Farm in the list. If it is not immediately
visible, you can filter the list by Published status, Type (Vendor), Title
or Language. Click Edit for the Vendor content item you would like to
assign an author to.
Locate the information block and click Authoring information.
Assigning an author to the Vendor content item
Start typing the Vendor’s user name Happy Farm in the Authored by field.
The field lists matching user names. Select the Vendor’s user name from the
list.
Click Save and keep published.
You will get a notification that the Vendor content item has been updated.
Vendor content item has been updated
Follow these steps again to assign Vendor content item Sweet Honey to the
Vendor user account Sweet Honey.
AttributionsWritten by Diána Lakatos at
Pronovix.BlocksSource file: guide.txtOverview of block concepts and details of common block tasks.Concept: BlocksSource file: block-concept.txtOverview of blocks.BlockoverviewWhat is a block?Blocks are individual pieces of your site’s web page layout. They are placed
inside the regions (see ) of your theme, and can be created,
removed, and rearranged in the Block layout (admin/structure/block)
administration page. Examples of blocks include the Who’s online listing, the
main navigation menu, and the breadcrumb trail. The main page content is also a
block.Some modules make new blocks available for placement on your site. For example,
when the core Search module is installed and configured, it provides a block
that contains a search form. You may also create and place your own custom
blocks.Each block has its own configuration settings, which allow you to select
which pages of your site will display the block. It is even possible to place
multiple copies of a block, each with its own separate configuration and
visibility rules.Related topicsAttributionsAdapted by Les Lim from
"Working with blocks
(content in regions)"
and
"Blocks",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Creating A Custom BlockSource file: block-create-custom.txtHow to create a custom block.BlockcreatingCustom blockcreatingGoalCreate a block showing the hours and location of the farmers market.Prerequisite knowledgeSteps
In the Manage administrative menu, navigate to Structure > Block
layout > Custom block library (admin/structure/block/block-content).
Click Add custom block. The Add custom block page appears.
Fill in the fields as shown below.
Field name ValueBlock descriptionHours and location blockBodyOpen: Sundays, 9 AM to 2 PM, April to September<br />Location: Parking
lot of Trust Bank, 1st & Union, downtown Anytown.Add a custom block
Click Save. A message appears indicating the block has been saved.
Expand your understanding
Edit the content of your custom block. In the Manage administrative menu,
navigate to Structure > Block layout > Custom block library
(admin/structure/block/block-content). Find your block in the list and click
Edit to make changes.
Place the block you created in the sidebar. See for details.
Additional resourcesDrupal.org community documentation page "Working with blocks (content in regions)"AttributionsAdapted by Jacob Redding and
Boris Doesborg from
Working with blocks
(content in regions, copyright 2000-2016 by the individual contributors to
the Drupal Community Documentation.Placing a Block in a RegionSource file: block-place.txtHow to place a block in a region.Blockplacing in a regionRegionplacing a block inGoalPlace the Opening hours and location block in the website’s sidebar.Prerequisite knowledgeSite prerequisites
The core Bartik theme must be installed and set as default. See
.
The Opening hours and location block must exist. See .
Steps
In the Manage administrative menu, navigate to Structure > Block layout
(admin/structure/block). The Block layout page appears, listing the theme’s
regions.
Ensure that in the secondary tab the core Bartik theme is selected. Block
placement is defined per theme.
Locate the region Sidebar second in the list and click Place block next to
it. The Place block window appears, listing all the blocks.
Locate the block Opening hours and location and click Place block next to
it. The Configure block window appears. Fill in the fields as shown below.
Field name ValueTitleHours and locationDisplay titleCheckedRegionSidebar secondYou can also hide or display the block on specific pages. In the case of the
Farmer’s market website you do not set any of these configuration options
because you want to show the block everywhere.Block configuration page
Click Save block. The Block layout page appears. You can drag blocks to
change the order in which they will appear.
Verify that the Opening hours and location block is listed in the Sidebar
second region, and click Save blocks.
The block has been placed on the sidebar of all pages that use the core Bartik
theme.Page with a block placed on the Sidebar second regionExpand your understanding
Remove the Powered by Drupal block from the Footer region by setting the
region to - None -.
Remove the Tools block from the Sidebar first region by setting the
region to - None -. This block is only visible to logged-in users.
Place the User login block in a region.
AttributionsWritten and edited by Boris Doesborg
and Jennifer Hodgdon.Creating Listings with ViewsSource file: guide.txtOverview of view concepts and details of common view tasks.Concept: Uses of ViewsSource file: views-concept.txtOverview of views and the data that can be displayed or output by them.ViewoverviewViews moduleoverviewPrerequisite knowledgeWhat is a view?A view is a listing of content on a website. The core Views module handles the
display of views, and the core Views UI module allows you to create and edit
them in the administrative interface. When you define views, you are interested
in taking data from your website and displaying it to the user.What types of data can be displayed using views?You can create views to output practically any content entity that is stored in
the system. For example, you can create the following lists for the farmers
market site:
Lists of vendors
Lists of recipes
Lists of the most recent content on the site
Lists of users on the site
What are the ways data can be output using views?A listing created by a view can be in any of the following forms:
Table with sortable fields
Grid layouts
Teasers or pictures that link to articles
Blocks
JSON output
RSS feeds
Calendars
On-screen slideshows
Related topicsAttributionsWritten and edited by
Michael Lenahan at
erdfisch, and
Jojy Alphonso at
Red Crackle.Concept: The Parts of a ViewSource file: views-parts.txtOverview of the administrative parts of a view.Viewparts ofDisplay part of viewoverviewFormat part of viewoverviewFields part of viewoverviewFilter criteria part of viewoverviewSort criteria part of viewoverviewContextual filters part of viewoverviewRelationships part of viewoverviewViewdisplay partViewformat partViewfields partViewfilter criteria partViewsort criteria partViewcontextual filters partViewrelationships partPrerequisite knowledgeWhat are the parts of a view?When you are editing a view in the administrative interface, you will see the
following parts (or sections), which allow you to specify what data to output,
in what order, and in what format:
Display
Each view can have one or more displays, each of which produces one type of
output. Options for display types include:
Page
Makes output at a particular URL, for the main page content at that URL.
Block
Makes output in a block, which can be placed on pages.
Feed
Makes an RSS or another type of feed.
Attachment
Makes output that you can attach to another display.
Format
Depending on the display type, you can choose to output your data in a
table, grid, HTML list, or another format. Some formats also give you a
second choice that lets you output either rendered entities or fields; other
formats do not give you this choice (for example, if you use a table format,
you must always use fields).
Fields
Depending on the format choice, you may be able to choose which content fields
are output. For example, if you were making a view of recipe content items, in
a block display you might show only the recipe names, while in a full page
display you might also show an image field because you have more space.
Filter criteria
Filters limit the data to be output, based on criteria such as whether the
content has been published or not, the type of content, or a field value.
For instance, to make a view of recipe content items, you would need to filter
to the Recipe content type, and to published recipes. Filters can also be
exposed, which means that users will have a form where they can choose
their own filter values. You might use this on a Recipe page to let users
filter for recipes with certain ingredients.
Sort criteria
Defines the order to present the output, which can be based on any content
field.
Contextual filters
Contextual filters are like regular filters, except that the values come from
the context of the view display, such as the full URL of the page being
displayed, the current date or time, or some other value that can be
detected by the view calculation.
Relationships
Relationships allow you to expand what is displayed in your view, by relating
the base content being displayed to other content entities. Relationships are
created using fields on the base content that relate it to the other content;
one example is that all regular content items have an author field, which
references the user account of the person who authored the content. Once you
have created a relationship, you can display fields from the referenced
entity in the view.
Related topicsAttributionsWritten and edited by Surendra Mohan
and Jennifer Hodgdon.Creating a Content List ViewSource file: views-create.txtHow to create a content list view.ViewcreatingContent list viewcreatingViews modulecreating a viewListing contentusing Views module toImage modulecreating a viewModuleViewsModuleImageGoalCreate a page listing vendors that will be automatically updated whenever a
vendor is added, deleted, or updated on the site.Prerequisite knowledgeSite prerequisites
The core Views and Views UI modules must be installed. These are installed for
you when you install with the core Standard installation profile.
The Vendor content type must exist, with URL and Main image fields. Your
site must have a couple of Vendor content items. See ,
, and .
The Medium (220x220) image style must be defined. This is created on your
site when you install the core Image module (installed with the core Standard
installation profile) but can be recreated if deleted. See
.
Steps
In the Manage administrative menu, navigate to Structure > Views > Add
view (admin/structure/views/add). The Add view wizard appears.
Fill in the fields as shown below.
Field name Explanation Example valueView nameName of the view that will be visible in the administration pagesVendorsShowType of information listed in the viewContentOf TypeSpecify content typeVendorSorted byList orderTitleCreate a pageCreate a page that displays the viewCheckedPage titleTitle show above the viewVendorsPathAddress of the pagevendorsDisplay formatType of listTableItems to displayNumber of items visible on the page10Use a pagerSplit up the list in several pages if there are more itemsCheckedCreate a menu linkAdd the view page to the menuCheckedMenuMenu in which to add the linkMain navigationLink textLabel of the link in the menuVendorsAdd new view wizard
Click Save and edit. The view configuration page appears.
Click Add from the dropdown button in the Fields section. The Add
fields pop-up appears.
Enter the word "image" in the search field.
Check Main image in the table.
Click Apply. The Configure field: Content: Main Image
pop-up appears.
Fill in the fields as shown below.
Field name Explanation Example valueCreate a labelAdd a label before the field valueUncheckedImage styleThe format of the imageMedium (220x220)Link image toAdd a link to the content itemContent
Click Apply. The view configuration page appears.
Click Add from the dropdown button in the Fields section. The Add
fields pop-up appears.
Enter the word "body" in the search field.
Select Body in the table.
Click Apply. The Configure field: Content: Body pop-up
appears.
Fill in the fields as shown below.
Field name Explanation Example valueCreate a labelAdd a label before the field valueUncheckedFormatterThe presentation of the field valueSummary or trimmedTrimmed limit:The number of maximum characters shown120
Click Apply. The view configuration page appears.
Click Content: Title (Title) in the Fields list. The
Configure field: Content: Title pop-up appears.
Uncheck Create a label. This will remove the label that was created by the
wizard.
Click Apply. The view configuration page appears.
Click Rearrange from the dropdown button in the Fields section. The
Rearrange fields pop-up appears.
Drag the fields into the right order: Image, Title. Body.
Click Apply. The view configuration page appears.
Optionally, click Update preview for a preview.
Click Save.
Vendors view configuration page
Navigate to the homepage and click Vendors from the main navigation to see
the result.
Vendors view outputExpand your understandingThe link to the view in the main navigation will probably not be in the right
place. Change the order of the menu items in the main navigation. See
.AttributionsWritten/edited by Boris Doesborg
and Jennifer Hodgdon.Duplicating a ViewSource file: views-duplicate.txtHow to create a new page by duplicating a view.ViewduplicatingViews moduleduplicating a viewModuleViewsGoalCreate a page listing recipes by duplicating the existing Vendors view. Modify
the page so that the recipes are displayed in a grid and can by filtered by
ingredients.Prerequisite knowledgeSite prerequisites
The Vendor and Recipe content types must exist; both must have Main image
fields, and the Recipe content type must have an Ingredients field. Your site
must also have a couple of Recipe content items. See ,
, , ,
and .
The Vendors view must exist. See .
Steps
In the Manage administrative menu, navigate to Structure > Views
(admin/structure/views). Find the view "Vendors" and click Duplicate in its
dropdown button.
Duplicate existing view
Name the duplicate "Recipes" and click Duplicate. The view configuration
page appears.
Change the title of the view page to "Recipes" by clicking Vendors in the
Title section. The Page: The title of this view pop-up appears. Type in
"Recipes". Click Apply.
Change view title
Change from a table to a grid format by clicking Table in the Format
section. The Page: How should this view be styled pop-up appears. Check Grid
and click Apply. The Page: Style options pop-up appears. Retain the default
values and click Apply.
Retain only the title and image fields for the Recipes view by clicking
Content: Body in the Fields section. Click Remove in the pop-up that
appears.
Change the content type filter to use the Recipe content type by clicking
Content: Type (=Vendor) in the Filter criteria section. In the Configure
filter criterion: Content: Type pop-up, check Recipe and uncheck Vendor. Click
Apply.
Add a further filter that is exposed to visitors by clicking Add in the
Filter criteria section. Search for "ingredients" and check "Ingredients
(field_ingredients)". Click Add and configure filter criteria.
The appearing pop-up offers extra settings on vocabulary and selection
type. Click Apply and continue. The next pop-up allows you to expose this
filter to visitors. Fill in the fields as shown below.
Field name Explanation Example valueExpose this filter to visitors, to allow them to change itAllow visitors to filter and searchCheckedRequired fieldWhether a value has to be provided or notUncheckedLabelLabel shown for this filter on the view pageFind recipes using…Expose filter
Change the Path label field to "Recipes" by clicking "/vendors" in the Page
settings section. In the pop-up that appears, enter the path "recipes" and
click Apply.
Note that when editing a view, you enter paths without the leading "/", unlike
on other administrative pages (such as when providing a path to a content item
page).
Change the menu link title by clicking "Normal: Vendors" in the Page
settings section. In the pop-up that appears, change the title to "Recipes" and
click Apply.
In order to use Ajax (see Ajax entry in the Glossary) to make filtering and paging
faster for users, click Advanced to expand the section for more options. In
the Other section, change Use Ajax: No to "Yes" by clicking No and
checking Use Ajax in the pop-up that appears. Click Apply.
Click Save to save the view.
Go back to the home page and click Recipes in the navigation to view the new
Recipes page.
Recipes viewExpand your understandingThe link to the view in the main navigation will probably not be in the right
place. Change the order of the menu items in the main navigation. See
.Related concepts
Ajax entry in the Glossary
AttributionsWritten and edited by Laura Vass at
Pronovix,
and Jojy Alphonso at
Red Crackle.Adding a Block Display to a ViewSource file: views-block.txtHow to add a block display to a view.Viewadding block display toBlockcreating from a viewViews moduleadding to a viewModuleViewsGoalAdd a block display to the Recipes view to display the most recent recipes
in a sidebar, and change its configuration without changing the existing
Recipes page view.Prerequisite knowledgeSite prerequisites
The Recipe content type must exist, it must have a Main image field, and your
site must have a couple of Recipe content items. See ,
, , and .
The Thumbnail (100x100) image style must be defined. This is created on your
site when you install the core Image module (installed with the core Standard
installation profile) but can be recreated if deleted. See
.
The Recipes view must exist. See and .
Steps
In the Manage administrative menu, navigate to Structure > Views
(admin/structure/views). Find the view "Recipes" and click Edit from its
dropdown button. Alternatively, navigate to the Recipes page in the main site
navigation, and click the Edit view contextual link in the main area of the
page. See for information about contextual links.
Create a new block display by clicking Add in the Displays section. Click
Block from the dropdown button. The new display is created, and the focus is
automatically switched to its configuration.
Add block display
Change the title of this display by clicking Block next to Display
name. The Page: The name and the description of this display pop-up
appears. Change the Administrative name to "Recent recipes". Click Apply.
Change the title of the view by clicking Title: Recipes in the Title
section. In the pop-up that appears, select For This block (override) from the
For dropdown button. Change the title to "New Recipes" and click Apply (this
display).
Title only for this block
Change the view’s style by clicking Format: Grid in the Format section. In
the pop-up that appears, select For This block (override) from the For
dropdown button. Select Unformatted list and Click Apply (this display). You
can further configure the style options in the next pop-up that appears.
Configure the image field by clicking Content: Main image in the Fields
section. In the pop-up that appears, select For This block (override) from the
For dropdown button. Select Image style Thumbnail (100x100). Click Apply
(this display).
Image to thumbnail
Remove ingredients as a filter by clicking Content: Ingredients (exposed) in
the Filter criteria section. In the pop-up that appears, select For This
block (override) from the For dropdown button. Click Remove at the bottom.
Configure how you want the content to be sorted in the view by clicking Add
in the Sort criteria section. In the pop-up that appears, select For This
block (override) from the For dropdown button. Check the field Authored on
(from Content category), and then Add and configure sort criteria.
In the appearing configuration pop-up, select Sort descending to have the
most recent recipes appear first. Click Apply.
Specify the number of items to be displayed by clicking Use pager: Mini in
the Pager section. In the pop-up that appears, select For This block
(override) from the For dropdown button. Under Pager, select Display a
specified number of items. Click Apply (this display). In the Page: Pager
options pop-up, provide "5" as the value for Items to display.
Click Save. You will either see the view editing page again, or the Recipes
page, depending on what you did in step 1. You should also see a message saying
that the view has been saved.
Summary page after configuration
Place the "Recipes: Recent Recipes" block in the Sidebar second region. See
. Navigate to the site’s home page to see the block.
New Recipes block on homepageAttributionsWritten and edited by Laura Vass at
Pronovix,
Jennifer Hodgdon, and
Jojy Alphonso at
Red Crackle.Making Your Site MultilingualSource file: guide.txtOverview of multilingual site concepts and details of tasks needed to make a site multilingual.Concept: User Interface, Configuration, and Content translationSource file: language-concept.txtOverview of translation on a site.User interfacetranslatingConfigurationtranslatingContenttranslatingTranslatingoverviewModuleLanguageModuleContent TranslationModuleConfiguration TranslationModuleInterface TranslationContent Translation moduleoverviewConfiguration Translation moduleoverviewInterface Translation moduleoverviewLanguage moduleoverviewPrerequisite knowledgeWhat can be translated on your site?The base language for the software that your site runs (core software,
modules, and theme) is English. However, you can create either a site that
displays in a different language or a multi-lingual site; if you do so, all
relevant text, images, and file attachments should be shown in the appropriate
language for each site visitor. You need to have the core Language
module installed in order to use a language other than English on the site.There are three types of information that you can translate, each with its own
method for translating:
User interface text
Built-in text present in the core software, modules, and themes. This can be
translated from the base English language of the software into the language(s)
of your site. Typically, rather than needing to translate this text yourself,
you can download translations. You need to have the core Interface Translation
module installed in order to translate this text.
Configuration text
Text whose structure and initial values are defined by the core software,
modules, and theme, but that you can edit. Examples include the
labels for fields in your content types, header text in views, your site name,
and the content of automatic email messages that your site sends out. After
creating configuration text in the default language of your site, you can
translate it into other languages. You need to have the core Configuration
Translation module installed in order to translate this text.
Content text and files
If your site is multilingual, you can configure the content fields on your
site to be translatable. After creating content in one language, you can
translate it into other languages. Fields can contain textual information or
uploaded files, and for each field on each content type, you can configure it
to be translatable or non-translatable. You need to have the core Content
Translation module installed in order to translate this text.
Related topicsAttributionsWritten by Jennifer Hodgdon.Adding a LanguageSource file: language-add.txtHow to add a language, install the necessary modules, and turn on the Language
switcher block.LanguageaddingMultilingual modulesinstallingMultilingual modulesenablingLanguage moduleinstallingContent Translation moduleinstallingConfiguration Translation moduleinstallingInterface Translation moduleinstallingModuleLanguageModuleContent TranslationModuleConfiguration TranslationModuleInterface TranslationGoalAdd one or more languages to your site and define which one is used by default.Prerequisite knowledgeSteps
Install the four core multilingual modules (Language, Interface Translation,
Content Translation, and Configuration Translation), by following the steps in
.
In the Manage administrative menu, navigate to Configuration >
Regional and Language > Languages (admin/config/regional/language).
Click Add language.
Select Spanish (or your preferred language) from the Language name select
list. Click Save configuration. After waiting for translations to finish
downloading, you will be returned to the Languages page, with a confirmation
message and the new language shown.
List of available languages in the website
Follow the steps in to place the Language switcher block in
the Sidebar second region. This will enable site visitors to switch between
languages, once the site has been translated.
Expand your understandingAdditional resourcesDrupal.org page "Resource Guide: Configuring a Multilingual Site"AttributionsWritten and edited by Leila Tite,
Jennifer Hodgdon, and
Boris Doesborg.Configuring Content TranslationSource file: language-content-config.txtHow to configure content items to make them translatable.ContenttranslationConfiguringcontent translationGoalMake Custom block, Custom menu link, and Content entity types
translatable. Select specific subtypes and set which fields of these can be
translated.Prerequisite knowledgeSite prerequisitesThe core Content Translation module must be installed, and your site must
have at least two languages. See .Steps
In the Manage administrative menu, navigate to Configuration > Regional
and Language > Content Language and Translation
(admin/config/regional/content-language).
Under Custom language settings, check Content,
Custom block and Custom menu link to make these entity types translatable.
Custom language settings checklist
Configuration options appear for Content, Custom block and Custom menu
link. Choose the subtypes you want to translate for each entity
type. Check Basic page for Content, Basic block for Custom block and
Custom menu link for Custom menu link.
Verify the settings for the entity types as shown below:
Field name Explanation Example valueDefault languageThe default language for the entity subtypeSite’s default language (English)Show language selector on create and edit pagesWhether or not the language selector should be shown while editing and creating contentCheckedDefault language and translatability for content types
Choose the fields that should be translatable for Basic page as shown in the
table below. If a field is not translation-dependent, leave it
unchecked. Enabling translation for fields that are numbers or dates has use for
accountability or implementing workflows.
Field name Explanation Example valueTitleThe title of the contentCheckedAuthored byThe authorUncheckedPublishing statusWhether the content has been published or notCheckedAuthored onDate of publishingUncheckedChangedDate of last updateUncheckedPromoted to front pageWhether the content will be included in some content viewsUncheckedSticky at top of listsWhether the content will be displayed first in some content viewsUncheckedURL aliasNicer URL for the contentCheckedBodyThe main content of the pageCheckedTranslatable content entity subtypes' fields checklist
Similarly, check the appropriate boxes for translatable fields belonging to
Basic block and Custom menu link.
Click Save configuration.
Expand your understandingAdditional resourcesBlog post "Multilingual Drupal 8 tidbits, part 5"Blog post "Multilingual Drupal 8 tidbits, part 17"AttributionsWritten and edited by Laura Vass at
Pronovix,
Jojy Alphonso at
Red Crackle,
and Jennifer Hodgdon.Translating ContentSource file: language-content-translate.txtHow to translate a page into another language.ContenttranslatingTranslatingcontentGoalTranslate the home page to Spanish.Prerequisite knowledgeSite prerequisites
The Home content item must exist. See .
The core Content Translation module must be installed, and your site must
have at least two languages. See .
The Basic page content type must be configured to be translatable. See
.
Steps
In the Manage administrative menu, navigate to Content (admin/content).
Locate the home page. You can search for it by entering "Home" in the title
field.
Select Translate from the dropdown button in the row of the Home content
item. The page Translations of Home appears.
Click Add in the row Spanish.
Adding a content translation
Note that the user interface has switched to Spanish. To switch it back to
English, remove the first instance of es in the browser’s URL. For
example, if your URL looks like example.com/es/node/5/translations/add/en/es,
remove the es that comes immediately after example.com.
Fill in the fields as shown below. You will have to click and expand URL path
settings on the right to provide the value for URL alias.
Field name Explanation ValueTitleTranslated title of the pagePágina principalBodyTranslated body of the pageBienvenido al mercado de la ciudad - ¡el mercado de agricultores de tu barrio!
Horario: Domingos de 9:00 a 14:00. Desde Abril a Septiembre
Lugar: parking del Banco Trust número 1. En el centro de la ciudadURL path settings > URL aliasTranslated address of the webpagepagina-principal
Click Save and keep published (this translation).
Go to your site’s home page to view the newly translated page.
Expand your understanding
Follow the steps above to translate more content on your site.
AttributionsWritten by Boris Doesborg.Translating ConfigurationSource file: language-config-translate.txtHow to translate field labels in a view, and other configuration.ConfigurationtranslatingViewtranslatingLabeltranslatingTranslatingconfigurationTranslatingviewTranslatinglabelGoalTranslate the labels on the Recipes view page into Spanish.Prerequisite knowledgeSite prerequisites
The core Configuration Translation module must be installed, and your site
must have at least two languages. See .
The Recipes view must exist. See and .
Steps
In the Manage administrative menu, navigate to Structure > Views
(admin/structure/views).
Locate the Recipes view and click Translate from the dropdown button.
Click Add in the row Spanish. The page Add Spanish translation for
Recipes view appears.
Find Displays > Master display settings > Recipes default display
options. Translate the Display title from "Recipes" to "Recetas".
Find Displays > Master display settings > Recipes default display
options > Exposed form > Reset options. Translate Submit button text
(Apply) to "Applicar". The other buttons and labels in this section do not
appear on the Recipes page or block, and do not need to be translated.
Translate the Recipes view
Find Displays > Master display settings > Recipes default display
options > Filters > (Empty) taxonomy term ID > Find recipes
using… Expose. In the Label field, enter "Encontrar rectas usando…".
Click Save translation.
Navigate to the Recipes page and switch to Spanish using the Language switcher
block. Verify that the labels have been translated.
Expand your understanding
Translate the block display title in the Recent recipes
display settings section of the Recipes view.
Translate the page title in the Vendors view.
Translate other configuration, such as the site name and the contact form:
To translate the site name, navigate in the Manage administrative menu to
Configuration > System > Site information > Translate system
information (admin/config/system/site-information/translate).
To translate the contact form, navigate in the Manage administrative menu
to Structure > Contact forms (admin/structure/contact). Click Translate
from the dropdown button in the Website feedback row.
Translate content. See .
AttributionsWritten and edited by Boris Doesborg and
Jennifer Hodgdon.Extending and Customizing Your SiteSource file: guide.txtOverview of site customization and development. Tasks on downloading modules and themes are covered.Finding ModulesSource file: extend-module-find.txtHow to search and evaluate modules on Drupal.org.ModulefindingModuleevaluatingContributed modulefindingContributed moduleevaluatingDrupal.org websitefinding and evaluating modules onGoalFind and evaluate modules on Drupal.org.Prerequisite knowledgeSteps
Go to Drupal.org, and navigate to Download &
Extend > Modules (https://www.drupal.org/project/project_module).
Filter your search using the categories on the module search page.
Fill in the fields as shown below.
Field name Explanation Example valueMaintenance statusHow actively should the module be maintained?Actively maintainedDevelopment statusWhat kind of development should the module undergo?AnyModule categoriesThe module’s topic area.AdministrationCore compatibilityThe version of the core software the module is compatible with.8.xStatusProject status: Sandbox projects are experimental projects. Full projects have already gone through an approval process, but they can still be in development.Full projectsSearch ModulesSearch for Admin Toolbar, a module that will be covered in detail later. Alternatively, you can also leave the field blank if you are not sure which module to search for.Admin ToolbarSort byOrder your search results by criteria like Most installed (popular modules that many sites use) or Last release (date of latest version released).Most installedFilters on the module search page on Drupal.org
Click Search. Search results will appear.
Module search results page on Drupal.org
To further evaluate a module, click its title in the list of search results
to visit its project page.
Some aspects to pay attention to when evaluating modules:
Project description: The description of the module on its project page should
be clear and useful. You should get an idea of its features and requirements.
Maintenance status: If a module is Actively maintained, you can be sure that
there will be security updates, bug fixes and feature improvements provided on
a regular basis. However, if the module is unmaintained or abandoned, you
shouldn’t use it.
Development status: Under active development means you can expect new
features to be added to the project, but some aspects (for example, API) may
still change. Maintenance fixes only means that the project is considered
feature complete.
Reported installs, downloads: You can see how many people have downloaded and
how many sites use the module. If it’s only used by a few sites, it might be a
unique solution that not many people need, or it might be a warning sign that
you shouldn’t use it either.
Maintainers: When was the last commit (the last time someone updated something
on the module) or last release (new version)? If the project has few open
issues, a long time since commits/releases might be appropriate, but if it has
a lot of open issues and there are no commits/releases, that would be a clue
that it might be abandoned.
Issues: See if there are any open issues, potential problems with the
module. Check the Statistics to see how regularly issues are responded to.
Resources: Check if the module has documentation or a README file, that can
help you install, configure, explore, and test it.
Information on the project page to look for when evaluating a moduleExpand your understandingAttributionsWritten by Diána Lakatos at
Pronovix.Enabling and Disabling Maintenance ModeSource file: extend-maintenance.txtHow to enable maintenance mode to set up a "Site under maintenance" message, and how to disable it.Maintenance modeoverviewMaintenance modeenablingMaintenance modedisablingGoalPut your site in maintenance mode to allow users with the right permissions to
use the site while users without this permission are presented with a message
that the site is under maintenance.Prerequisite knowledgeStepsEnabling maintenance mode
In the Manage administrative menu, navigate to Configuration >
Development > Maintenance mode (admin/config/development/maintenance). The
Maintenance mode page appears.
Fill in the fields as shown below.
Field name Explanation ValuePut site into maintenance modeEnable the maintenance modeCheckedMessage to display when in maintenance modeThe information that is shown to
website visitors when the mode is enabled. Variables such as @site can be used
in the message@site is currently under maintenance but should be back
shortly. Thank you for your patience.
Click Save configuration.
Verify that the site is in maintenance mode by accessing it from another
browser where you aren’t logged in. If you are not able to verify, try clearing
the cache. See .
Maintenance mode enabledDisabling maintenance mode
In the Manage administrative menu, navigate to Configuration >
Development > Maintenance mode (admin/config/development/maintenance). The
Maintenance mode page appears.
Fill in the fields as shown below.
Field name Explanation ValuePut site into maintenance modeDisable the maintenance modeUncheckedMessage to display when in maintenance modeNo message required while disabling. You can leave the field blank.
Click Save configuration.
Verify that the site is no longer in maintenance mode by accessing it from
another browser where you aren’t logged in. If you are not able to verify, try
clearing the cache. See .
Maintenance mode disabledExpand your understandingAttributionsWritten and edited by Boris Doesborg,
and Jojy Alphonso at
Red Crackle.Downloading and Installing a Module from Drupal.orgSource file: extend-module-install.txtHow to download and install a module from Drupal.org (using the user interface) or by using Drush.ModuledownloadingModuleinstallingModuleenablingModulecontributedModulecustomDownloadingmoduleInstallingmoduleEnablingmoduleContributed moduledownloadingContributed moduleinstallingFunctionalityextendingDrush toolusing to download and install moduleAdmin Toolbar moduledownloadingAdmin Toolbar moduleinstallingModuleAdmin ToolbarUpdate Manager moduleusing to install moduleModuleUpdate ManagerDrupal.org websitedownloading and installing module fromGoalDownload and install the
contributed Admin Toolbar module,
which allows you to easily browse through the administration section of the
website.Prerequisite knowledgeSite prerequisites
If you want to install modules via the website, the core Update Manager module
must be installed. See for instructions on installing
modules.
If you want to use Drush, Drush must be installed. See .
StepsYou can use the administrative interface or Drush to install a contributed
module. If you are installing a custom module rather than a contributed module,
or if the steps below do not work to download and unpack the module files,
follow the steps in , and then continue here with step
7 in the instructions for the administrative interface below.Using the administrative interface
On the Admin toolbar project page on drupal.org
(https://www.drupal.org/project/admin_toolbar), scroll to the Downloads
section at the bottom of the page.
Copy the address of the tar.gz link. Depending on your device and browser,
you might do this by right clicking and selecting Copy link address.
Finding a module URL
In the Manage administrative menu, navigate to Extend
(admin/modules). The Extend page appears.
Click Install new module. The Install new module page appears.
Installing a module from a URL
In the field Install from a URL, paste the copied download link. This value
could look like this:
https://ftp.drupal.org/files/projects/admin_toolbar-8.x-1.14.tar.gz
Click Install to upload and unpack the new module on the server. The files
are being downloaded to the modules directory.
Click Enable newly added modules to return to the Extend page. If you
used the manual uploading procedure, start with this step, and reach the
Extend page by using the Manage administrative menu and navigating to
Extend (admin/modules).
Locate and check Admin toolbar.
Click Install to turn on the new module.
Using Drush
Find the project name for the module you want to install, which is the last
segment of the module’s project page URL. For example, if the project URL is
https://www.drupal.org/project/admin_toolbar, the project name is
"admin_toolbar".
Run the following Drush commands, giving the project name (for example,
admin_toolbar) as a parameter:
drush dl admin_toolbar
drush en admin_toolbar
Follow the instructions on the screen.
Expand your understanding
Verify that the
contributed Admin Toolbar module
is working by browsing through the menu in the administration section.
Install and configure the
contributed Pathauto module
so that content pages in your site get nice URLs by default. See
for more on URLs.
Additional resourcesDrupal.org community documentation page "Contributed modules""Download and Extend" page on Drupal.orgAdmin Toolbar module on Drupal.orgAttributionsWritten and edited by Boris Doesborg and
Jennifer Hodgdon.Finding ThemesSource file: extend-theme-find.txtHow to use filters to search themes and evaluate them.ThemefindingThemeevaluatingContributed themefindingContributed themeevaluatingDrupal.org websitefinding and evaluating themes onGoalFind and evaluate themes on Drupal.org.Prerequisite knowledgeSteps
Go to https://www.drupal.org, and navigate to Download & Extend > Themes
(https://www.drupal.org/project/project_theme).
Filter your search using the categories on the theme search page.
For example, you might use these filters:
Field name Explanation Example valueMaintenance statusHow actively is the theme maintained? If a theme is actively maintained, you can expect bug fixes and improvements on a regular basis.Actively maintainedDevelopment statusWhat kind of development is the theme undergoing? If you select Under active development, you can expect new features to be added, and some aspects may still change. If you select Maintenance fixes only, it means that the theme is considered complete.AnyCore compatibilityThe Drupal version the theme is compatible with.8.xStatusSandbox projects are experimental projects. Full projects have already gone through an approval process, but they can still be in development.Full projectsSearch ThemesSearch by search term in the theme’s description.-Sort byOrder your search results by criteria like Most installed (popular themes that many sites use) or Last release (date of latest version released).Most installedFilters on the theme search page on Drupal.org
Click Search. Search results will appear.
The search results page on Drupal.org
To further evaluate a theme, click its title in the list of search results
to visit its project page.
Some aspects to pay attention to while evaluating themes:
Introduction: The description of the theme on its project page should be clear
and useful. A screenshot of the theme helps your evaluation as well.
Releases: The theme should be available for your version of the core
software. Pay attention to the color-coding: Themes marked green are
recommended to be used on live sites, the ones marked yellow should be
carefully evaluated before use, and the ones marked red are only
recommended for testing.
Project information: Check the theme’s maintenance and development status, and
how frequently it’s downloaded and installed.
Issues: See if there are any open issues or potential problems with the theme.
Resources: Check if the theme has documentation.
Expand your understandingAttributionsWritten by Diána Lakatos.Downloading and Installing a Theme from Drupal.orgSource file: extend-theme-install.txtHow to download and install a theme from Drupal.org or by using Drush.ThemedownloadingThemeinstallingThemeenablingThemecontributedThemecustomContributed themedownloadingContributed themeinstallingContributed themeenablingCustom themeinstallingCustom themeenablingDownloadingthemeInstallingthemeEnablingthemeUpdate Manager moduleusing to install themeModuleUpdate ManagerDrush toolusing to download and install themeDrupal.org websitedownloading and installing theme fromGoalDownload and install a theme from Drupal.org.Prerequisite knowledgeSite prerequisitesIf you want to install via the website, the core Update Manager module must be
installed. See for instructions on installing modules.If you want to use Drush, Drush must be installed. See .StepsYou can use the administrative interface or Drush to install a contributed
theme. If you are installing a custom theme rather than a contributed theme,
or if the steps below do not work to download and unpack the theme files,
follow the steps in , and then continue here with
the administrative interface in step 7.Using the administrative interface
On the theme’s project page on drupal.org (for example,
https://www.drupal.org/project/mayo), scroll to the Downloads section
at the bottom of the page.
Right-click tar.gz to copy the address.
Finding the URL for a theme
In the Manage administrative menu, navigate to Appearance
(admin/appearance). The Appearance page appears.
Click Install new theme. The Install new theme page appears.
Installing a theme
In the field Install from a URL, paste the copied download link. This value
could look like
https://ftp.drupal.org/files/projects/mayo-8.x-1.3.tar.gz.
Click Install to upload and unpack the new theme on the server. The files
are being downloaded to the themes directory.
Click Install newly added themes to return to the Appearance page. If you
used the manual uploading procedure, start with this step, and reach the
Appearance page by using the Manage administrative menu and navigating
to Appearance (admin/appearance).
Locate the new theme under Uninstalled themes and click Install and set as
default to use it. All non-administrative pages on the site will now use this
new theme.
Uninstalled themes on Appearance pageUsing Drush
Find the project name for the theme you want to install, which is the last
segment of the theme’s project page URL. For example, if the project URL is
https://www.drupal.org/project/mayo, the project name is mayo.
Run the following Drush commands, giving the project name (for example,
mayo) as a parameter:
drush dl mayo
drush en mayo
drush config-set system.theme default mayo
Follow the instructions on the screen.
Expand your understanding
In the Manage administrative menu, navigate to Appearance
(admin/appearance) and uninstall any themes that you are not using.
AttributionsWritten and edited by Joe Shindelar at
Drupalize.Me, and
Boris Doesborgh.Manually Downloading Module or Theme FilesSource file: extend-manual-install.txtHow to manually download and upload a module or theme.ModuledownloadingContributed moduledownloadingThemedownloadingContributed themedownloadingDownloadingmodule or theme files manuallyManually downloading module or theme filesoverviewGoalManually download module or theme files and upload them to your site, if the
website or Drush methods for installing or updating a module or theme do not
work, or if you are placing a custom-written module or theme.Prerequisite knowledgeSite prerequisitesYou need to be facing any of the following to perform the manual download
described in this topic:
File permission issues
FTP permission issues
You created a custom module/theme or received its files from someone
You could not successfully complete the instructions in
, ,
, or Skip this topic if none of the above applies to you.StepsIf you are installing a module or theme from Drupal.org, follow the
downloading and unpacking instructions, and then the uploading instructions. If
you created the module or theme, skip the downloading and unpacking steps.Downloading and unpacking the files
Open the module or theme project page on drupal.org; for example, the Admin
toolbar page (https://www.drupal.org/project/admin_toolbar).
Scroll to the Downloads section near the bottom of the page.
Downloading module files
Click tar.gz or zip to download the file to your computer.
Extract the files into a directory.
Uploading the files to your site
If you are adding a new module or theme, create subdirectories in your
top-level modules and themes directories (if they don’t already
exist). Typically, people make a contrib subdirectory for contributed modules
and themes that are downloaded from Drupal.org, and a custom subdirectory for
modules and themes that they created. Your modules directory might look like
this:
Suggested directory structure for modules
If you are replacing an existing module or theme with an updated version, put
the site into maintenance mode. See .
If you are replacing an existing module or theme with an updated version, find
and delete all the existing files and directories for the existing module
or theme. Modules are normally located in directories under the top-level
modules directory, and themes are normally located in directories under the
top-level themes directory.
Copy the extracted directory to either the same location as the one you
deleted (if replacing an existing module or theme) or the appropriate
subdirectory of modules or themes (if adding a new module or theme).
Refer to , ,
, or to complete the
installation or update of the module or theme. Start at the step after the
automatic download has been completed.
Expand your understanding
If you work with multiple environments (for example, a local development site
and a production site) you will have to repeat the steps on each environment, or
re-clone the environment. See .
If you added a new theme, navigate in the Manage administrative menu to
Appearance (admin/appearance) and uninstall the old theme.
Additional resourcesDrupal.org community documentation page "Updating modules"Drupal.org community documentation page "Installing contributed modules (Drupal 8)"Drupal.org community documentation page "Installing themes"AttributionsWritten by Boris Doesborg and
Jennifer Hodgdon.Concept: Development SitesSource file: install-dev-sites.txtOverview of development sites with an example deployment workflow for site building.Development siteoverviewDeployment workflowoverviewStaging siteoverviewInstallingdevelopment siteInstallingstaging siteWhat are Development Sites?Development Sites are different copies of the same site used for developing,
updating, and testing a site without risking the integrity of the live site.An example deployment workflow for site building will usually include the sites
mentioned below:
Local environment
The development process starts with developers working on new features, bug
fixes, theming, and configuration in their local environment.
Development site
Developers push the changes they’ve been working on to the development
site. For a team of more than one developer, version control is usually
used. Git is a version control system that tracks your files for any
changes. You can then commit those changes to a repository. Using Git allows
team members to work on the same site without overriding each other’s work. It
also makes it possible to easily roll back to previous stages of the
development.
Staging site
The staging site can be used for testing, or presenting the changes to the
client for approval. QA (Quality Assurance) and UAT (User Acceptance Testing)
are most often carried out on the staging site. It is recommended to have live
content on both the development and staging sites, so that you can test how
the new features will work with the existing content.
Production site
The live site on the web available to visitors. It contains new features that
have been proven safe to go live.
Based on the project’s size, scope, requirements, or stakeholders, stages from
the above workflow can be removed, or additional stages can be added. For
example, a testing site before staging can be added to separate testing and user
acceptance processes.Related topicsAdditional resourcesDrupal.org community documentation page "Introduction to Git"AttributionsWritten and edited by Diána Lakatos,
and Jojy Alphonso at
Red Crackle.Making a Development SiteSource file: install-dev-making.txtHow to make a copy of a live site for development purposes.Development sitemakingStaging sitemakingGoalMake a copy of a site that you can use to develop new features and test updates
on.Prerequisite knowledgeSite prerequisites
You have a live, developed site that you would like to make a copy of for
development purposes.
If you want to use Drush for some of the steps in this task, Drush must be
installed. See .
Steps
Follow the steps in , so that you have hosting set up for
your development site, you know where the web root is for your development site,
and you have an empty database and database user for your development site to
use.
Make a database dump file from your live site’s database. Try one of the
following methods:
If you are using MySQL as your database, and your live site’s server has
phpMyAdmin installed (it is available from many hosting control panels),
use the Export tab in phpMyAdmin to export in SQL format. Using gzip
compression on the output file is suggested, to reduce the file size.
If you are using MySQL and have access to the command line, use this
command (substituting in your site’s database name, user name, and password):
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > BACKUPFILE.sql
If you prefer to use Drush, use this command:
drush sql-dump > BACKUPFILE.sql
Use the contributed Backup and Migrate module
from within your live site. See for instructions on
installing contributed modules.
You now have a database dump stored in the file BACKUPFILE.sql. For security
reasons, avoid storing this file on your hosting server anywhere under the
Drupal site root. This will prevent others from getting a copy of your
database.
Copy all of the files from the web root of your live site to the web root of
your development site.
Edit the sites/default/settings.php file under your development site’s
top-level directory in a plain-text editor. Find the lines near the end that
contain the database name, database username, and database password, and update
them to the information about the development site database you set up. The
lines look something like this (before editing):
$databases['default']['default'] = array (
'database' => 'live_site_database_name',
'username' => 'live_site_database_username',
'password' => 'live_site_database_password',
Check whether your settings.php file has the following setting; if yes, then
you will need to edit this to point to your development site URL instead of your
production site URL:
$settings['trusted_host_patterns']
Import the database dump file you created, into the development site’s
database. Try one of the following methods:
If you are using MySQL as your database, and your live site’s server has
PHPMyAdmin installed (it is available from many hosting control panels),
use the Import tab in PHPMyAdmin. You may find that you have to restart the
import a few times, if your database was large.
If you are using MySQL and have access to the command line, use this
command (substituting in your site’s database name, user name, and password;
if you made a gzip-compressed backup file, you will also need to uncompress it
first):
mysql -u USERNAME -pPASSWORD DATABASE_NAME < BACKUPFILE.sql
If you prefer to use Drush, use this command:
drush sql-query --file=BACKUPFILE.sql
If your development and live sites need to have different configuration, then
you have to use configuration overrides in the settings.php file. The
$config variable will help you maintain override values separately from the
standard configuration data. For instance, you might want the site name to be
"Anytown Farmers Market" on the production site, but "Development Site for
Anytown Farmers Market" on the development site. To do that, you could have the
production value in the site configuration (in the database), and on the
development site, in the settings.php file, you would need to have:
$config['system.site']['name'] = "Development Site for Anytown Farmers Market";Expand your understanding
Verify that the development site is working correctly.
Log in to the development site as an administrator, and clear the cache. See
.
Additional resourcesDrupal.org community documentation page "Backing up a site"Drupal.org community documentation page "Create a Test Site"AttributionsWritten and edited by Jennifer Hodgdon,
Joe Shindelar at
Drupalize.Me, and
Jojy Alphonso at
Red Crackle.Deploying New Site FeaturesSource file: extend-deploy.txtHow to copy a view created in a local development site to a production site.FeaturedeployingConfigurationdeployingFeaturecopyingConfigurationcopyingGoalCopy a view that you have created in a local development site to the production
site.Prerequisite knowledgeSite prerequisites
The core Configuration Manager module must be installed in both the
development and production sites. See for
instructions on installing core modules.
The Vendor content type must exist in both the development and production
sites, with the same fields. See .
The Vendors view must exist in the development site but not the production
site. See .
Steps
Open the local development site.
In the Manage administrative menu, navigate to Configuration >
Development > Configuration synchronization > Export > Single item
(admin/config/development/configuration/single/export).
The Single export page appears.
Select View from the Configuration type list.
Select Vendors from the Configuration name list. The configuration
appears in the textarea.
Copy the configuration from the textarea.
Export a single item
Open the production site.
In the Manage administrative menu, navigate to Configuration >
Development > Configuration synchronizationImport > Single
(admin/config/development/configuration). The Import page appears.
Select View from the Configuration type list.
Paste the configuration in the textarea.
Click Import. The confirmation page appears.
Click Confirm.
Verify that the new view is being created by navigating in the Manage
administrative menu to Structure > Views.
Expand your understandingThe steps in this topic show how to export and import a single configuration
item. However, often if you develop functionality on a development website
and want to transfer it to your production site, you will need to transfer
multiple configuration items. For instance, if you developed a new content
type with fields, you would need to transfer several configuration items for
each field, one for the content type itself, and possibly multiple view mode
and form mode items, and they would have to be transferred in the right order.
Getting this right can be both tedious and difficult.As an alternative, you can export and import the complete configuration of the
site. For this, you would need a local development site that is a clone
of the production site (see ), and then you can follow the
steps in to synchronize configuration between
development and production sites.Another alternative is to use the
contributed Features module, which
allows exporting and importing bundled functionality (for example, all the
configuration for a photo gallery).Related conceptsAttributionsWritten by Boris Doesborg.Synchronizing Configuration VersionsSource file: extend-config-versions.txtHow to synchronize the configuration between a development and live site using the core Configuration Manager module.Configurationsynchronizing between development and live siteDevelopment sitesynchronizing with live siteLive sitesynchronizing with development siteConfiguration Manager moduleusing to synchronize the configuration between a development and live siteModuleConfiguration ManagerGoalSynchronize the configuration between a development and live site.Prerequisite knowledgeSite prerequisites
You must have a development copy of your production site. See
.
The core Configuration Manager module must be installed on both the
development and production sites. See for instructions on how
to install core modules.
You must have changed configuration on either the production or development
site (the source site), and want to synchronize the changes to the other site
(the destination site). As an example, you can develop a new content type,
fields, and views on your development site, and when it is all working
correctly, deploy the changes to the live site.
All configuration that should not be synchronized between the source and
destination sites must be stored in configuration overrides in the
settings.php file rather than in the database. See .
Steps
In the source site, in the Manage administrative menu, navigate to
Configuration > Development > Configuration synchronization > Export
(admin/config/development/configuration/full/export).
Click Export. Your site will generate an archive of the full site
configuration. Save the file on your local computer.
In the destination site, in the Manage administrative menu, navigate to
Configuration > Development > Configuration synchronization > Import
(admin/config/development/configuration/full/import).
Browse to find the downloaded configuration archive, and click Upload. Your
configuration archive will be uploaded to the destination site, and you will be
redirected to the configuration Synchronize page
(admin/config/development/configuration) with a message saying your files were
uploaded.
Verify that the differences shown on the page are what you expect. You may see
configuration items that have been added, deleted, or changed; for changed
items, you can click View differences to see what the changes are.
When you are satisfied, click Import all to import the configuration
changes.
Expand your understanding
If the changes you have made involve only one configuration item (such as one
view), you can use the single configuration export/import feature to deploy
the change between sites. See .
After the step where you export the full configuration from the source site,
you might also want to unpack the archive and commit it to a version control
system, such as Git, to track changes in your site configuration. See
.
AttributionsWritten by Jennifer Hodgdon.Preventing and Fixing ProblemsSource file: guide.txtOverview of cache, data backup, and log concepts. Task on clearing the cache is covered.Concept: CacheSource file: prevent-cache.txtOverview of the cache and the site data that can be cached.CacheoverviewPage cacheoverviewModuleInternal Page CacheModuleDynamic Page CacheInternal Page Cache moduleoverviewDynamic Page Cache moduleoverviewPrerequisite knowledgeWhat is the page cache?The software that runs your site, on each page request, must perform
calculations and retrieve data from the database, in order to compose the page
that is sent to the web browser or other application that is accessing the
site. These calculations take time, which can mean that your page load time is
longer than would be desirable.There are several ways that page load time can be sped up, including installing
software on the server. The system includes the core Internal Page Cache and
Dynamic Page Cache modules, which do not require any additional server
software; they use a database cache mechanism to speed up your site. The way
these modules work is that during page calculations, intermediate results and
the final page output are stored in a special database area (known as the
cache). Then the next time a compatible request is made, intermediate or final
results, as appropriate, can be retrieved and used rather than redoing the
entire calculation. In addition, when content or data that affects a particular
calculation is updated, the affected cached data is removed from the cache,
forcing that part of the calculation to be redone the next time it is needed.These caching modules normally work reasonably well, and offer at least some
speed-up for most sites. However, sometimes the page cache can have problems,
such as:
Corrupted data in the cache, leading to garbled or incorrect page output
Old data remaining in the cache too long, leading to outdated page output
Insufficient caching, leading to slow page loads
What other data is cached?Independent of whether the two page cache modules are installed on your site,
the software that your site runs will still cache the output of many internal
calculations. The core systems that cache data include:
The theme system caches information in the database cache about which template
files are used to render various types of data. If you are developing a new
theme and add a new template file, you’ll need to clear this cache to have
your theme file recognized.
CSS and JavaScript files can optionally be optimized and compressed (depending
on your site settings). If so, the compressed versions are stored in the file
system so that they don’t have to be re-optimized too often. If you are
developing a module or theme, you may need to either turn off or clear this
file cache to have changes to CSS or JavaScript files be recognized.
The system locates certain low-level PHP functions and classes, such as
hook implementations and plugin classes, from your installed modules and
stores information about which module has which functionality. If you are
developing a new module or adding features to an existing module, you may need
to clear this cache to have your new features be recognized.
Related topicsIf you have problems with your site, the first thing to try to fix it is
usually to clear the cache. See for more information.Additional resourcesLearn about additional caching and performance optimization methods in the
Drupal.org community documentation page "Caching to improve performance".AttributionsWritten by Jennifer Hodgdon.Clearing the CacheSource file: prevent-cache-clear.txtHow to clear the cache using Drush or the user interface.CacheclearingCacherebuildingGoalClear or rebuild your site’s internal caches to ensure they are up-to-date with
the most recent data, using the user interface or Drush.Prerequisite knowledgeSite prerequisitesIf you want to use Drush to clear the cache, Drush must be installed. See
.StepsYou can use the administrative interface or Drush to clear the cache.Using the administrative interface
In the Manage administrative menu, navigate to Configuration >
Development > Performance (admin/config/development/performance).
Click Clear all caches.
A message saying the cache has been cleared appears at the top of
the page.
Using DrushYou can use one of two commands:
Use the command drush cache-rebuild to clear and rebuild all cached data
for a site. After running this command, you will see the output message "Cache
rebuild complete."
Use the command drush cc to see a list of individual caches and then
choose the specific cache you would like to clear. Running this command should
produce output like the following:
> drush cc
Enter a number to choose which cache to clear.
[0] : Cancel
[1] : drush
[2] : theme-registry
[3] : menu
[4] : css-js
[5] : block
[6] : module-list
[7] : theme-list
[8] : render
[9] : viewsChoose a cache to clear by entering the number associated with that cache. Press
"Enter" to continue.Additional resourcesDrupal.org community documentation page "Clearing or rebuilding Drupal’s cache"AttributionsAdapted and edited by Joe Shindelar
and Jack Haas from
"Clearing or
rebuilding Drupal’s cache",
copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.Concept: Data BackupsSource file: prevent-backups.txtOverview of data backups and what should be backed up on a site.BackupoverviewContentbacking upFilebacking upDatabasebacking upPrerequisite knowledgeWhat is a site backup?If something happens to the computer (or computers) that your site and its
database are running on, or if you lose access to this computer, you could lose
some or all of your site’s data. You could also lose data if your site is
hacked, or if someone with administrative privileges on your site deletes or
alters data mistakenly from the administrative interface. In order to prevent
scenarios like this from being permanent, expensive data losses, it is important
to make regular backups of your site’s data, and to store them in a location
that is separate from the computer where your site is running.The frequency with which you should make data backups, and how many backups you
should keep, depends on how frequently your site is changing. If you have a very
large amount of content on your site that is being added to or updated many
times per day, you would want to make more frequent backups than you would for a
site that changes rarely. Also consider that some time could pass between when a
data problem occurs and when you notice that it is a problem, so storing a
sequence of backups (so that you can go back to the last known good data and
retrieve that), rather than overwriting a single backup repeatedly, is a
good practice.Another consideration is that whatever format you store your backups in, it is a
good idea to verify that you can actually retrieve lost data from your
backups. You might want to test several possible data loss scenarios, and make
sure that your data can be restored to the site in all cases.In order to make a complete backup of your site, you will need to make copies of
the following:
The data in the sites directory, including the sites/default/settings.php
file.
The data in your site’s database. A few tables can be truncated, such as those
storing the temporary data cache and user login session information, but it is
always safe to back up the entire database.
Uploaded files, such as images and other attachments. The location of these
files is configurable; the standard location is the sites/default/files
directory under your site root. In the Manage administrative menu, navigate
to Configuration > Media > File system (admin/config/media/file-system)
to check the file upload locations; to change them, you’ll need to edit your
settings.php file.
Modules, themes and any other software files you have customized. You can find
customized modules and themes in the modules and themes directories
respectively. Some people prefer to back up all software files, including core
files and contributed modules and themes (which you could recover by downloading
them again from the source), rather than trying to pick out specific files that
definitely need to be backed up.
You can perform a test to confirm whether your backup has been done right by
making a development copy of the site (see ).Related topicsAdditional resourcesDrupal.org community documentation page "Backing up a site"
The contributed Backup and Migrate module,
which can be used to set up automatic backups of the database and uploaded
files.
AttributionsWritten by Jennifer Hodgdon.Concept: LogSource file: prevent-log.txtOverview of logs and where to find recent log messages.LogoverviewReportRecent log messagesErrorlog reportTroubleshootinglog reportPerformancelog reportWhat is a Log?Your site captures system events in a log to be reviewed by an authorized
individual at a later time. The log is a list of recorded events
containing usage data, performance data, errors, warnings, and operational
information. It is vital to check the log on a regular basis as it is often the
only way to tell what is going on.You can find your site’s recent log messages in the Manage administrative menu
by navigating to Reports > Recent log messages (admin/reports/dblog).Recent log messages of a basic siteAttributionsAdapted by Diána Lakatos
from "Reports"
copyright 2000-2016 by the individual contributors to the
Drupal Community DocumentationConcept: Status ReportSource file: prevent-status.txtOverview of the status report and where to find it on a site.Status reportoverviewSecuritystatus reportPHP versionstatus reportSoftware versionstatus reportUpdate statusstatus reportUpdatestatus reportSite informationstatus reportServer informationstatus reportPerformancestatus reportTroubleshootingstatus reportWhat is a Status Report?The status report is a short overview of your site’s parameters as well as any
problems detected with your installation. It may be useful to copy and paste
this information into support requests filed on Drupal.org’s support forums
and project issue queues or when asking for help on other channels.You can find the status report in the Manage administrative menu by
navigating to Reports > Status report (admin/reports/status).Status report of a basic siteRelated topicsAttributionsAdapted by Diána Lakatos
from "Reports"
copyright 2000-2016 by the individual contributors to the
Drupal Community DocumentationSecurity and MaintenanceSource file: guide.txtOverview of security and maintenance concepts. Tasks on updating the core software, modules, and themes are covered.Concept: CronSource file: security-cron-concept.txtOverview of cron and how it is different from Unix cron.Cron taskoverviewAutomated Cron moduleoverviewWhat are cron tasks?To ensure that your site and its modules continue to function well, a group
of administrative operations should be run periodically. These operations are
called cron tasks. Examples of cron tasks are: checking for module and theme
updates, indexing content for search, or cleaning up temporary files.What is the relationship between the site’s cron tasks and Unix cron?Linux/Unix-based operating systems have a cron scheduler that can be used to run
periodic tasks. You can use the server’s cron scheduler to schedule runs of the
site’s cron tasks. Alternatively, you can use the core Automated Cron module to
run tasks. You can check the site’s cron tasks' status in the status report.Related topicsAdditional resourcesDrupal.org community documentation page "Setting up cron"AttributionsWritten and edited by
Diána Lakatos at
Pronovix,
Dave Hansen-Lange at
Advomatic,
and Boris Doesborg.Configuring Cron Maintenance TasksSource file: security-cron.txtHow to run cron maintenance tasks using the core Automated Cron module, or by running them from outside the site.Automated Cron moduleconfiguringCron taskconfiguringGoalCheck whether cron maintenance tasks are run regularly, and if not, either
install the core Automated Cron module or run cron maintenance tasks from
outside the website.Prerequisite knowledgeSteps
Review the Status report (see ) to see when cron
maintenance tasks were last run.
If you installed the website using the core Standard installation profile (or
similar), then cron maintenance tasks might already be running via the
core Automated Cron module. By default, these tasks are run about every three
hours.
Choose whether to run cron maintenance tasks using the core Automated Cron
module, or by other means. The core Automated Cron module might not be suitable
for some websites because:
Each time someone accesses a page on the site, the module checks how long it
has been since cron maintenance tasks have last run, and then runs them if
necessary. If no one visits the website for a long time, cron maintenance
tasks will not be run.
Cron maintenance tasks are run after the page has been generated. This means
there is less time for the tasks to be run before various server timeouts are
reached (for example, PHP execution timeout). If this happens, the logs (see
) will show error messages that cron is unable to complete.
There is a small scalability cost
associated with the core Automated Cron module. This is because one of the web
server’s processes is occupied (and can’t serve other web pages) until the
cron maintenance tasks are complete.
If you want to use the core Automated Cron module, first make sure it is
installed (it is installed with the core Standard install profile; see
if it is not installed).
Next, configure the module to control how frequently cron maintenance tasks are
run. In the Manage administrative menu, navigate to Configuration >
System > Cron (admin/config/system/cron). Choose the desired interval in
the Cron settings section, and click Save configuration.Configure the core Automated Cron module
If you want to run cron maintenance tasks from outside the website, uninstall
the core Automated Cron module (see ). Next, find the
cron URL. This URL is shown in the Status report (see ), and
in the Cron administration page (see previous step). The URL looks
like this:
http://www.example.com/cron/0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1ReWhenever this URL is visited, cron maintenance tasks will run. Set up one of
the following schedulers to access this URL regularly:The Cron daemon (Linux, OS X, Solaris,
BSD)
Scheduled Tasks (Windows)
A cron SASS provider (software as a service)
A cron manager provided by your web hosting provider (see the documentation
provided by your provider)
Related conceptsAdditional resourcesDrush page "Running Drupal cron tasks from Drush"Drupal.org community documentation page "Setting up cron"AttributionsWritten and edited by Dave Hansen-Lange at
Advomatic,
Boris Doesborg,
and Jennifer Hodgdon.Concept: Security and Regular UpdatesSource file: security-concept.txtOverview of security updates, how bugs are handled, and non-security updates.SecurityoverviewUpdateoverviewBugreportingSecurity bugreportingSecurity teamoverviewPrerequisite knowledgeWhat are security updates?Any software occasionally has bugs, and sometimes these bugs have security
implications. When security bugs are fixed in the core software, modules, or
themes that your site uses, they are released in a security update. You will
need to apply security updates in order to keep your site secure. See
to learn how to be notified of security updates by
email, and , , and
to learn how to make updates.What is the security team?The Drupal open-source project has a team of volunteers who track
security-related bugs and release security updates. They also help other
developers fix bugs, and maintain information for users on how to keep their
websites secure. You can learn more about the security team and their practices
and processes at the
Drupal.org Security Team page.How are security bugs reported?It is important that security problems be kept confidential until they are
fixed, so that sites are less likely to be compromised before they can be
secured. If you find a potential security problem in any of the software you
downloaded from the Drupal.org website, follow the procedures on the
Drupal.org Security Team page to report
it.What are regular (non-security) updates?The core software, modules, and themes also periodically have regular updates to
add new features and fix bugs. These updates are less critical than security
updates. As a general best practice, updates should be applied as long as they
do not cause problems with your site. Testing on a development copy of your site
is always a good idea before applying updates on a live site. This is because
some updates may include changes that are not compatible with the modules or
themes on your site, or that will break a particular functionality on your site.Related topicsAdditional resourcesDrupal.org community documentation page "Securing your site""Security advisories" on Drupal.orgDrupal.org Security teamAttributionsWritten and edited by Boris Doesborg
and Jennifer Hodgdon.Keeping Track of UpdatesSource file: security-announce.txtHow to secure a site by staying informed about the latest security updates.Updatekeeping track ofSecurity updatekeeping track ofUpdate Manager moduleoverviewSecurity announcementsubscribing to by emailSecurity announcementsubscribing to on TwitterGoalKeep your site safe and up-to-date by keeping up with the latest security
updates.Prerequisite knowledgeStepsThere are a few different ways to receive notifications of security releases:
In the Manage administrative menu, navigate to Reports > Available
updates > Settings. Enter the email addresses to be notified when updates are
available. You can also specify whether you want daily or weekly updates. Click
Save configuration.
Subscribe to the security announcements email list. To subscribe, log in to
Drupal.org, go to your user profile page and subscribe to the security
newsletter on the Edit > My newsletters tab.
Follow @drupalsecurity on Twitter.
Subscribe to RSS feeds for
core security updates,
contributed project updates and
public service announcements.
Related conceptsAdditional resources"Security advisories" on Drupal.orgDrupal.org Security Team@drupalsecurity on TwitterAttributionsWritten by Sarah German at
Advomatic.Updating the Core SoftwareSource file: security-update-core.txtHow to update the core software using the administrative interface or Drush.Core softwareupdatingDrush toolusing to update the core softwareAdministrative interfaceusing to update the core softwareGoalUpdate the core software, either through the administrative interface or by
using Drush.Site prerequisites
If you want to use Drush, Drush must be installed. See .
If your site is live, you should test this process in a development
environment before running it on your production site. See
.
Steps
Make a complete backup of your site. Refer to .
Open settings.php (/sites/default/settings.php) in any plain text
editor. Find the line with the $settings[update_free_access] variable. By
default, it is set to "FALSE" due to security reasons. Change the setting to
"TRUE":
$settings['update_free_access'] = TRUE;
Disable any caching technique (memcache, varnish, and so on) your application
might be using.
Put your site in maintenance mode. See .
Download the latest version of Drupal 8.x core manually
from Drupal.org Drupal Core Downloads
and extract it to a backup or temporary directory on your server (should be
outside the directory where the site is hosted). You can also use Drush by
navigating to the backup or temporary directory on the server and entering this
command:
drush dl drupal
Delete the core and vendor directories, and all files that are not in a
subdirectory, including .htaccess, composer.json, and autoload.php. Don’t
delete custom and customized files because you may end up losing the custom
functionality stored in them.
Upload the core and vendor directories and the non-custom/non-customized
files that you may have deleted during the preceding step from the newly
downloaded code base (in our case, drupal-8.0.0-beta14) to your site directory
(version 8.0.0-beta13).
Run the update.php script using either of the following:
Visit http://www.example.com/update.php in your browser (where
www.example.com is your site’s name). Click Continue in the first screen
to run the updates and successfully complete the script.
Run the following Drush command:
----
drush updb
----
If you get any error or warning, re-run the update.php script
again till all the updates have been completed successfully.
Open settings.php (/sites/default/settings.php) in a text editor. Find the
line with the $settings[update_free_access] variable and update it to
"FALSE":
$settings['update_free_access'] = FALSE;
Click Administration pages to return to the administration section of your
site.
Take your site out of maintenance mode. See .
Clear the cache. See .
Re-enable any caching technique you disabled at Step 3.
You should have the updated version running. You can verify the current
version of your software by checking the Status report (see
).
Expand your understandingRelated conceptsAdditional resources"Drupal Core Downloads" page on Drupal.org"Registry Rebuild" page on Drupal.org
The file /core/UPDATE.txt within your installation.
AttributionsWritten and edited by Surendra Mohan,
Boris Doesborgh, and
Jojy Alphonso at
Red Crackle.Updating a ModuleSource file: security-update-module.txtHow to update a contributed module by using the administrative interface and running the Database updates script, or by using Drush.ModuleupdatingSecurity updateapplyingContributed moduleupdatingDrush toolusing to update moduleGoalUpdate a contributed module and run the Database updates script.Prerequisite knowledgeSite prerequisites
A contributed module has been installed and there is an update available for
it. See and .
If your site is live, you should test this process in a development
environment before running it on your production site. See
.
You have created a full-site backup. See .
If you want to use the user interface, the core Update Manager module must be
installed. See for instructions on installing core
modules.
If you want to use Drush, Drush must be installed. See .
StepsBefore you start, check for module-specific update instructions. This is
typically necessary while updating modules that involve the usage of third-party
libraries. Read and understand all module-specific requirements before
proceeding with the updates. To find instructions, check the module’s project
page Read Documentation link.To view further instructions, download the tar.gz or .zip file from the project
page to your local computer. Unzip the file and look for README.txt,
INSTALL.txt, and UPGRADE.txt that come with the module’s installation
file. Also, review the release notes on the project page by clicking the version
number you’re downloading.Release notes linkYou can use the administrative interface or Drush to update a contributed
module. If you are updating a custom module rather than a contributed module, or
if the steps below do not work to obtain the new module files, follow the steps
in . You can then continue here with step 6 in the
instructions for the administrative interface below.Using the administrative interface
Put your site in maintenance mode. See .
In the Manage administrative menu, navigate to Reports >
Available updates > Update (admin/reports/updates/update).
Find and check the module in the list. Click Download these updates for the
module.
Available updates
Click Continue.
Click Run database updates. If you obtained the new module files manually,
start with this step, and reach the database updates page by typing the URL
example.com/update.php in your browser.
Click Continue and apply all updates. The database update scripts will be
executed.
Click Administration pages to return to the administration section of your
site.
Take your site out of maintenance mode. See .
Clear the cache (refer to ).
Using Drush
Find the project name for the module you wish to update. It is the last
segment of the module’s project page URL. For example, if the project URL is
https://www.drupal.org/project/admin_toolbar, the project name is
"admin_toolbar".
Run the following Drush command, giving the project name (for example,
admin_toolbar) as a parameter (if you have more than one module to update, add
the additional module project names to the end of the command, separated by
spaces):
drush up admin_toolbar
Follow the instructions on the screen.
Expand your understanding
Review the site log (refer to ) once the updates are complete
to check for errors.
Additional resourcesDrupal.org community documentation page "Updating modules"AttributionsAdapted by Boris Doesborgh, and
Sarah German at
Advomatic, from
"Updating modules", copyright 2000-2016 by
the individual contributors to the
Drupal Community Documentation.Updating a ThemeSource file: security-update-theme.txtHow to update a contributed theme by using the administrative interface and running the Database Updates script, or by using Drush.ThemeupdatingSecurity updateapplyingContributed themeupdatingDrush toolusing to update themeGoalUpdate a contributed theme on your site and run the Database Updates script.Prerequisite knowledgeSite prerequisites
A contributed theme has been installed and there is an update available for
it. See and .
If your site is live, you should test this process in a development
environment before running it on your production site. See
.
You have created a full site backup. See .
If you want to use the user interface, the core Update Manager module must be
installed. See for instructions on installing core
modules.
If you want to use Drush, Drush must be installed. See .
StepsYou can use the administrative interface or Drush to update a contributed
theme. If you are updating a custom theme rather than a contributed theme, or if
the steps below do not work to obtain the new theme files, follow the steps in
, and then continue with step 6 in the instructions for
administrative interface below.Using the administrative interface
Put your site in maintenance mode. See .
In the Manage administrative menu, navigate to Reports >
Available updates > Update (admin/reports/updates/update).
Find and check the theme in the list. Click Download these updates for the
theme.
Available updates
Click Continue.
Click Run database updates. If you obtained the new theme files manually,
start with this step, and reach the database updates page by typing the URL
example.com/update.php in your browser.
Click Continue to run the updates. The database update scripts will be
executed.
Click Administration pages to return to the administration section of your
site.
Take your site out of maintenance mode. See .
Clear the Drupal cache (refer to ).
Using Drush
Find the project name for the theme you wish to update, which is the last
segment of the theme’s project page URL. For example, if the project URL is
https://www.drupal.org/project/mayo, the project name is "mayo".
Run the following Drush command, giving the project name (for example,
mayo) as a parameter:
drush up mayo
Follow the instructions on the screen.
Expand your understanding
Review the site log, see , once the updates are complete to
check for errors.
AttributionsWritten by Boris Doesborg.Final ThoughtsSource file: guide.txtOverview of the Drupal community and how to connect with other users.Connecting with the CommunitySource file: thoughts-connecting.txtHow to connect and get involved in the open-source community.Communityconnecting withDrupal projectconnecting withEventDrupalInterest groupfindingUser groupfindingGroupfindingDrupal user groupfindingIRC (Internet Relay Chat)using to chat onlineInternet Relay Chat (IRC)using to chat onlineChatting onlineContributing to the projectBugreportingPrerequisite knowledgeHow can you connect with the community?The Drupal project has a world-wide community of developers and users. One of
the best ways to improve your knowledge of the platform is to connect with
others that are using it, and get involved in the open-source community. There
are many ways that you can get started:
Attend an event
There are both regional and international Drupal events held around the
world. See the "DrupalCon" page on Drupal.org
to find international events, and the
"Event Calendar" on groups.drupal.org
or drupical.com to find regional events.
Join a local group
There are Drupal user groups all around the world. Many of them have regular
meetings, which you can attend to learn more about Drupal and connect to other
Drupal users. Find local user groups on
groups.drupal.org.
Participate in a topical or language group
There are also interest groups for a wide range of topics, which have on-line
discussion forums. Find topical groups on
groups.drupal.org. Many languages have
their own websites too; you can find them on the
"Language-specific
communities" page on Drupal.org.
Chat online
The Drupal project uses IRC for on-line chatting. There are regional, topical,
and general-purpose chat groups available. Find out more on the
"IRC" page on Drupal.org.
Report a problem
See below.
Contribute
You can contribute your time and expertise to the community in many ways, such
as:
Developing modules or themes. See the
"Contribute to Development"
page on Drupal.org, or improving them (using the issue queues for existing
projects).
Translating the user interface. See
localize.drupal.org.
Writing documentation. See
"Contribute to
Documentation" on Drupal.org.
Answer Support questions. See .
How can you report a problem or suggest a feature?Each project within the community (such as the Drupal Core project for the base
software, and projects for each contributed theme and module) uses issues to
keep track of software bugs and plans for new features. You can participate by
creating a bug report when you find a problem, creating a feature request, or
commenting on existing issues. Search before creating an issue, to
make sure that the problem or feature has not already been reported or
requested. See the
Drupal.org page "Use the issue queue" and the
Drupal.org page "Reporting a problem" for
more information.If you find a problem that you believe is related to security, such as a
cross-site scripting vulnerability, do not report it in the standard issue
queue. Instead, report it to the security team. See the
Drupal.org page "How to report a security issue" for details.Related topicsAdditional resources"Code of Conduct" on Drupal.org"Event Calendar" on groups.drupal.org or
drupical.com"Where is the Drupal Community?" page on
Drupal.orggroups.drupal.org"IRC" page on Drupal.org"Ways to get involved" page on Drupal.orgDrupal.org page "Why get involved?"Drupal.org page "Contributor tasks"Drupal.org page "Use the issue queue"Drupal.org page "Reporting a problem"Drupal.org page "How to report a security issue"AttributionsWritten by Jennifer Hodgdon,
and Joe Shindelar at
Drupalize.Me.Getting SupportSource file: thoughts-support.txtHow to find support for issues faced while developing a site.SupportfindingForumuser supportIRC (Internet Relay Chat)using to chat onlineInternet Relay Chat (IRC)using to chat onlineChatting onlinePrerequisite knowledgeWhere can you find support?The Drupal project is open-source, so if you have questions about or problems
with the software, your options for finding answers and fixes are somewhat
different from what they would be for commercial software.There are several options for free support provided by community
volunteers. First, some IRC channels, local groups, and language communities
encourage support questions, through on-line chat, in-person meetings, or
websites (find out more about these on ).Second, some (but not all) contributed module, distribution, and theme projects
encourage you to post support requests in issues. Generally, projects that have
a very large number of users do not allow support requests in their issues
(Drupal Core is in that category), while projects with a smaller number of users
welcome the occasional support question. Be respectful of developer time and
read the documentation for the project before posting a question in an issue. On
the other hand, all projects encourage you to use issues to report problems and
bugs; see to learn more about that.In addition to those resources, the following sites provide free forums where
volunteers answer support questions about Drupal:
The Drupal.org Forums"Drupal Answers" on StackExchangeIf you prefer to pay for support (presumably in exchange for more extensive
service or better availability), you can find service providers in the
"Drupal Marketplace" on Drupal.org.Related topicsAdditional resources"Support" page on Drupal.org"Drupal Marketplace" on Drupal.org
The Drupal.org Forums"Drupal Answers" on StackExchangeAttributionsWritten by Jennifer Hodgdon.Learning MoreSource file: thoughts-learn-more.txtWhere to find additional material to gain advanced site-building skills.Learning resourcelink toTrainingresourceDrupal trainingresources forDocumentationabout DrupalResourcedocumentation and trainingDocumentationavailable on drupal.orgDocumentationcontributed by the Drupal CommunityDocumentationabout the Drupal APIDocumentationfor programmersDocumentationDrupal Planet blog postsTrainingTraining MarketplaceTrainingGlobal Training DaysPrerequisite knowledgeWhere can you go to learn more?The following resources should prove useful to you, as you continue to advance
your skills:"Drupal Community Documentation" section on Drupal.org
Wiki-like documentation contributed by the Drupal community, ranging from
basic to advanced, about all aspects of Drupal (site building and
administration, theming, development, and contributed modules).
api.drupal.org
Reference documentation for programmers about the Drupal API.
"Drupal Planet" page on Drupal.org
An aggregation of blog posts about Drupal from around the web, posted by
blogging members of the Drupal community who have applied for
inclusion. Topics range from programming to site building to Drupal news.
Groups, events, and meetups
See for more about topical, regional, and language
groups, as well as local, regional, and international events.
"Training Marketplace" page on Drupal.org
The Marketplace lists paid training providers. For free training, check
whether events include training sessions; there are also free or very low-cost
training events listed on the
"Global Training Days" page on
Drupal.org.
Support sites
See to locate support forums; searching them can be
useful for learning about specific topics.
AttributionsWritten by Jennifer Hodgdon,
and Joe Shindelar at
Drupalize.Me.GlossarySource file: glossary.txtGlossaryTerminology (Glossary)Ajaxdefinition Ajax
A web technology used to exchange data with a server to dynamically
update parts of a web page (for example, forms) without needing entire page
reloads.
Aliasdefinition Alias
A user-friendly name to replace the internal path that
the system assigns to a URL on the site. For example, you might assign an
alias of about to the About page on your site, to replace the internal path
node/5. This would give the page a URL of http://example.com/about
instead of http://example.com/node/5. See for more
information.
Anonymousdefinition Anonymous
A person interacting with the site (user) who is not logged
in. See for more information.
Blockdefinition Block
A chunk of content (text, images, links, etc.) that
can be displayed on a page of a site. Blocks are displayed in
regions. See for more information.
Breakpointdefinition Breakpoint
Breakpoints are used to separate the height or width of browser screens,
printers, and other media output types into steps. A
responsive site adjusts its presentation at these
breakpoints. See for more information.
Bundledefinition Bundle
Synonym for Entity subtype.
Cachedefinition Cache
The site’s internal cache stores the output of time-consuming calculations,
such as computing output for an HTML page request, and then
retrieves them instead of recalculating the next time they are needed.
External caching systems can also be used on the web server to speed up
a site’s response. See for more information on the
internal cache.
CMS (Content Management System)definitionContent Management System (CMS)definition CMS
Acronym for
Content Management System.
Configurationdefinition Configuration
Information about your site that is not content,
and is meant to be more permanent than state information,
such as the name of your site, the content types
and views you have defined, etc. See
for more information.
Contentdefinition Content
Information meant to be displayed on your site, such as text, images,
downloads, etc. See also Configuration and
State. See for more information.
Content itemdefinition Content item
An item of content that is typically meant to be
displayed as the main content of a page on your site. This is an
entity type.
See for more information.
Content Management System (CMS)definition Content Management System (CMS)
A collection of tools designed to allow the creation, modification,
organization, search, retrieval and removal of information on a website.
See for more information.
Content typedefinition Content type
An entity subtype for the
content item entity type.
Each content type is used for some particular purpose on the site, and each
has its own fields. For example, a site for a farmers market might have a
content type for simple pages, and another for a vendor listing page.
See for more information.
Contextual linkdefinition Contextual link
A link to an administrative page for editing or configuring a feature of the
site, shown in the context where that feature is displayed. Example: a
link to configure a menu that is shown when you hover your
mouse over the menu. See for more information.
ContributeddefinitionContributed moduledefinitionContributed themedefinition Contributed
Modules, themes, and
distributions that are not part of the
Drupal core download, and that can be downloaded
separately from the Drupal.org website.
Cron taskdefinitionCron command schedulerdefinition Cron
On some operating systems, cron is a command scheduler application that
executes commands or scripts periodically.
Your site defines periodic tasks, also known as cron tasks, that need to be
triggered either by an operating system cron scheduler, or internally. See
for more information.
Distributiondefinition Distribution
A single download that provides a shortcut for setting up a specific type
of site, such as a website for a club or for e-commerce. A
distribution contains Drupal core, along with
contributed modules and/or
themes; many distributions also pre-configure the site
or even create sample content upon installation. See
for more information.
Drupal coredefinition Drupal core
The files, themes, profiles, and modules included with the standard
project software download. See for more information.
Entitydefinition Entity
An item of either content or
configuration data, although in common usage,
the term often refers to content entities. Examples include
content items, custom blocks,
taxonomy terms, and definitions of
content types; the first three are content
entities, and the last is a configuration entity. See also
Entity type,
Entity subtype, and
Field. See for
more information.
Entity subtypedefinition Entity subtype
Within a content entity type, a
grouping of entities that share the same fields. For
example, within the content item entity type, a
farmers market site might have subtypes (known as
content types) for static pages and vendor pages,
each with its own group of fields. You may also see the term bundle used
(especially in programmer documentation) as a synonym of entity subtype.
See for more information.
Entity typedefinition Entity type
The overall type of an entity; in common usage, it is
only applied to a content entity. Examples include
content items,
taxonomy terms, and custom
blocks. See for more information.
Fielddefinition Field
Data of a certain type that is attached to a
content entity. For instance, on
a farmers market site’s vendor content type, you might have fields for an
image, the vendor description, and a
taxonomy term. See
for more information.
FormatterdefinitionField formatterdefinition Field formatter
Configuration that defines how the data in
a field is displayed. For example, a text field could
be displayed with a prefix and/or suffix, and it could have its HTML tags
stripped out or limited. See also View mode and
Field widget. See for more
information.
WidgetdefinitionField widgetdefinition Field widget
Configuration that defines how someone can
enter or edit data for a field on a data entry form. For
example, a text field could use a single-line or multi-line entry box, and
there could be a setting for the size of the box. See also
Field formatter. See for
more information.
Formatter
See Field formatter.
FOSS (Free and Open Source Software)definitionFree and Open Source Software (FOSS)definition FOSS
Acronym for Free and Open Source Software, meaning software that is
developed by a community of people and released under a non-commercial
license. See also GPL. See for
more information.
GPL (General Public License or GNU General Public License)definitionGNU General Public Licensedefinition GPL
Acronym for the GNU General Public License, a non-commercial software
license. All software downloaded from
the Drupal.org website is licensed under the
"GNU General Public
License, version 2". See also FOSS. See
for more information.
Image styledefinition Image style
A set of processing steps that transform a base image into a new image;
typical processing includes scaling and cropping. See
for more information.
LAMP (Linux Apache MySQL PHP)definitionLinux Apache MySQL PHP (LAMP)definition LAMP
Acronym for Linux, Apache, MySQL, and PHP: the software on the web server
that the scripts commonly run on (although it can use other operating
systems, web servers, and databases). See for more
information.
Logdefinition Log
A list of recorded events on the site, such as usage data, performance data,
errors, warnings, and operational information. See
for more information.
Menudefinition Menu
A set of links used for navigation on a site, which may be arranged in a
hierarchy. See for more information.
Moduledefinition Module
Software (usually PHP, JavaScript, and/or CSS) that extends site features
and adds functionality. The Drupal project distinguishes between
core and contributed
modules. See for more information.
Pathdefinition Path
The unique, last part of the internal URL that the system assigns to a page
on the site, which can be a visitor-facing page or an administrative
page. For example, the internal URL for the About page on your site might be
http://example.com/node/5, and in this case, the path is node/5. See also
Alias. See for more information.
Permissiondefinition Permission
The ability to perform some action on the site, such as editing
a particular type of content, or viewing user profiles.
See also Role. See for more information.
Reference fielddefinition Reference field
A field that represents a relationship between an
entity and one or more other entities, which may be the
same entity type or a different type. For example,
on a farmers market site, a recipe content item might have a reference field
to the vendor (also a content item) that posted the
recipe. Taxonomy term fields are also reference
fields. See for more information.
Regiondefinition Region
A defined area of a page where content can be placed,
such as the header, footer, main content area, left sidebar, etc. Regions are
defined by themes, and the content displayed in each
region is contained in blocks. See for
more information.
Responsivedefinition Responsive
A site or theme is said to be responsive if it adjusts
its presentation in response to the size of the browser screen, printer,
or other media output type. See also Breakpoint. See
for more information.
Revisiondefinition Revision
A record of the past or present state of a content
entity, as it is edited over time. See
for more information.
Roledefinition Role
A named set of permissions that can be applied to
a user account. See for more information.
Security updatedefinition Security update
An update that fixes a security-related bug, such as a
hacking vulnerability. See for more information.
Statedefinition State
Information of a temporary nature about the current state of your
site, such as the time when cron was last run, etc.
See also Content and
Configuration. See for
more information.
Taxonomydefinition Taxonomy
The process of classifying content. See
for more information.
Taxonomy termdefinition Taxonomy term
A term used to classify content, such as a tag or
a category. See also Vocabulary. See
for more information.
Text formatdefinition Text format
Configuration that defines the processing that
happens to user-entered text before it is shown in the browser. This might
include stripping or limiting HTML tags, or turning URLs into links. See
for more information.
Themedefinition Theme
Software and asset files (images, CSS, PHP code, and/or templates) that
determine the style and layout of the site. The Drupal project distinguishes
between core and
contributed themes. See
for more information.
UI (User Interface)definition UI
Acronym for User Interface.
Updatedefinition Update
A newer version of your site’s software, either
Drupal core or a module or
theme. See also
Security update. See for
more information.
Userdefinition User
A person interacting with the site, either logged-in or
anonymous. See for more information.
User Interface (UI)definition User interface
The text, styles, and images that are visible on a site, separated logically
into the user interface for site visitors and the administrative user
interface.
User onedefinition User one (User 1)
The initial user account that is created when you install
the site (whose ID number is 1). It automatically has all
permissions, even if it is not assigned an
administrative role. See for more
information.
Viewdefinition View
A formatted listing of data; typically, the data comes from
content entities. For example, on
a farmers market site, you might create a
content item for each vendor. You could then
make view that generates a listing page that shows a thumbnail image and
short description of each vendor, linking to the full-page content
item. Using the same data, you could also make a view that generates a new
vendors block, which would show information from the most recently added
vendors. See for more information.
View modedefinition View mode
A set of field formatter
configuration for all of the
fields of a content
entity, some of which may be hidden. Each
entity subtype can have one or more view modes
defined; for example, content types typically have
Full and Teaser view modes, where the Teaser view mode displays fewer
or trimmed-down fields. See for more information.
Vocabularydefinition Vocabulary
A group of taxonomy terms to choose from when
classifying content in a particular way, such as the
list of all of the vendor categories on a farmers
market site. Technically, vocabularies are the
entity subtype for the taxonomy term
entity type. See
for more information.
Widgetdefinition Widget
See Field widget.
Wizarddefinition Wizard
A web form that allows you to fill in a few values, and creates something
with sensible defaults based on the values you chose. For example, there
are wizards for creating views of different types. See
for more information.
WYSIWYG (What You See Is What You Get)definitionWhat You See Is What You Get (WYSIWYG)definition WYSIWYG
Acronym for What You See is What You Get, meaning a method for editing
content where what you see on the editing screen
closely resembles the final product. See for
more information.
IndexSource file: guide.txtAppendixSource file: guide.txtOverview of contributors to this guide.Guide-Wide AttributionsSource file: attributions.txtList of contributors involved in project management and guide-wide writing/editing tasks.Content attributions for this documentAttributions for this documentCopyright for this documentThis guide was written by contributors to the Drupal open-source
project, and is licensed under the
CC BY-SA 2.0 license. See
for more information. Details about the contributors for
guide-wide tasks are below. For individual topics, the attributions for writing,
editing, and/or translating are at the end of each topic.Project coordination of original (English, Drupal 8) textWriting of the initial version of this guide was coordinated by the following
people:Amber Matz - Volunteer coordination
and project management
Jennifer Hodgdon - Content oversight
Joe Shindelar - Content oversight
Antje Lorch - Content oversight
Writing, editing, and testing of original textThe following people contributed to guide-wide writing:
The glossary was written and adapted by
Jennifer Hodgdon,
with parts from "Glossary",
"Overview of Configuration (vs. other
types of information)", and
"Working with
breakpoints in Drupal 8",
each copyright 2000-2016 by the individual contributors to the
Drupal Community Documentation.
The index was improved and curated by
Anna van Raaphorst.
Topic summaries were written by
Jojy Alphonso at
Red Crackle.
Guide-wide editing was done by the following people:Amber Matz at
Drupalize.MeAnna van RaaphorstAntje LorchBalu ErtlBoris DoesborgCharles Leveringtonchirag shahGrant DunhamJennifer HodgdonJoe Shindelar at
Drupalize.MeJojy Alphonso at
Red Crackle — who copy edited the vast majority of the
User Guide
Kamal Kant Pansari at
IntelliswiftMichael Lenahan
at erdfischSwarad Mokal at
Blisstering SolutionsThe content was tested by:Zach Carter
A workshop organized by the "Spokane
Drupal User Group" on groups.drupal.org, with students from the Web Development
Certificate program at Spokane Community CollegeImagesMost of the images in the guide are screen captures from the Drupal software,
generated by software written by
Jennifer Hodgdon.The word Drupal, the Druplicon logo (which appears as part of several images
throughout the guide), and the Drupal wordmark logo (which is part of the cover
image), are
registered trademarks of Dries Buytaert).The cover image is a CC BY-SA 2.0 licensed illustration by
Amanda Luker at
Advomatic.The Anytown Farmers Market logo, which appears as part of several images
throughout the guide, is a CC BY-SA 2.0 licensed illustration
by Justin Harrell at Drupalize.Me.The honey bee image, which appears as part of several images throughout the
guide, is a public domain image by
John Severns at the
English Wikipedia project via
Wikimedia Commons.The farm image, which appears as part of several images throughout the guide, is
a public domain image by Xianmin Chang via
Wikimedia Commons.The salad image, which appears as part of several images throughout the guide,
is a public domain image by
Yinan Chen via
Wikimedia Commons.The carrot image, which appears as part of several images throughout the guide,
is public domain image
K11611-1 by
Stephen Ausmus at the
Agricultural Research Service of the United States Department of Agriculture via
Wikimedia Commons.