Warning message

Documentation is currently being migrated into the new system. Some pages might be temporarily missing, and some guides might appear empty. Thank you for your patience while we are improving Drupal.org documentation.

Modules: Find, Import, Enable, Configure

Last updated on
September 20, 2016 - 11:25

This documentation is incomplete. Add more information.

Extend your Drupal 8 site's functionality over and above the features that come from the built-in 'Drupal core' modules, by installing additional contrib Modules from drupal.org. ('contrib' is short for 'contributed' by Drupal community members)

This page will detail how you can find a module to use, import it into your Drupal site, enable it (turn it on), and then configure it, from a beginner's point of view.

In the final section Advanced Linux, Drush, and Git topics, a few stray items relating to using the Linux command line, Drush, and Git, currently reside. Hopefully, a new home for those will be found for them, somewhere off this page.

Warning: Backup your site before using an un-tried module

 | Jump over warning ⤵ | 

That warning is Not really relevant if you are just getting started with Drupal, because on the off-chance that a module breaks your site beyond your ability to quickly fix it, you can just create a new one. It's good practice to make additional sites. If, however, your site reaches a point that you would hate to have to re-build it from the beginning, read on.

Backup your site, and test your backup to see that it works before you use a module that you have not used before, especially if it is an 'Other releases' or 'Development releases' version that has not yet been released as being suitable for a live website.

Before using a contrib module that you have not used before, you should always backup your site first, in particular your database with a record of which version of Drupal core that was used with that database.

Also, critically, you should always test the contrib module on a test site (also known as a 'development' site), not on a live site (also known as a 'production' site), just in case the module breaks your site.

Windows users with Drupal running locally (on your computer)

"\" versus "/":
A Windows computer system uses a back-slash separator ("\") between parent\child folders, but for simplicity sake, the following guide will use only the forward-slash character ("/") that is used on MAC and Linux computers, and online webhosts using UNIX based Apache servers.

Contents

      | Page Top ⤴ |

  1. In a nutshell

  2. Find a module to use

  3. Module project page

  4. Understand the various module versions available

  5. Codebase and database overview

  6. Module location in the codebase

  7. Importing the module

  8. Enabling modules

  9. Configuring modules

  10. Module documentation and help

  11. Updating the module

  12. Uninstalling the module

  13. Advanced Linux, Drush, and Git topics

 | Contents' beginning ⤴ | Page Top ⤴ |

  1. In a nutshell

       | Contents at this point ⤴ | 

    This page will be of greater benefit to you if you have an existing Drupal 8 site.

    You should feel free to experiment with any module, because you can always disable the module and remove it from your site.

    I recommend that if you are trying out modules that you have Not used before, only install one 'new-to-you' module at a time. And before you move on to another module, test the first module as thoroughly as necessarily to see how it changes things on your site, in particular, whether or not it breaks things that are already working.

    In a nutshell:

    • Decide upon a module to use.

    • Go to the module's project page, and find a version of the module to use.

    • Import the module into your Drupal site.

    • Enable the module on your site.

    • Configure the module, if needed.

    • Know how to safely uninstall the module.

  2. Find a module to use

       | Contents at this point ⤴ | 

    Go to the main page for contrib Modules from drupal.org (This link opens in a new tab/window.)

    That page is the 'Modules' sub-tab of the drupal.org main section 'Download & Extend'

    Core compatibility: "8.x" Set the fourth item down from the page-top, 'Core compatibility', to "8.x".

    Other search options: Feel free to change any of the other search items. You can also put a keyword or two in the textarea box for 'Search modules'.

    The item 'Sort by' is, by default, set on "Most installed", which means that the search results will be sorted by the most-popular first.

    Click the button "Search".

    On the search results page, the 'name' of each module is a link to that module's 'project' page.

    Click on the name of a module you would like to use.

  3. Module project page

       | Contents at this point ⤴ | 

    This section is an overview of a few things of importance on project pages.

    Module project pages vary, because each project page is created by the module's developer.

    First of all, the project page itself is usually worth reading carefully.

    Among other things, if the module is dependent on another module, or possibly extra 'libraries', that information will be posted. It is not critical if you forget about a dependency or library, however, because later when you try to enable or use the module, you will get a notice about what you are missing.

    'Downloads' section

    A project page will always include links to get the various versions that are available for that module.

    Those 'Downloads' links will be discussed in more detail in the next section, Understand the various module versions available on its project page.

    'Issues for...':

    The module's project page will always include links under the heading 'Issues for...'. Those links are in the right-hand column when your browser window is wide enough, or they are near the page bottom under the 'Downloads' and 'Maintainers for...' sections when your browser window is narrower.

    The 'Issues for...' links take you to the issues queue for that specific module project. The issues queue is the official place where all of the problems ('Bug report'), support requests, ('Support request') and new-feature requests ('Feature request') can be found and searched for.

    So, if you run into problems with a module, search the module's issue queue. If your problem (or request) has not already been addressed, post your question or issue using the link 'Create a new issue', and someone will try to help you out.

    Resources:

    Just under the 'Issues...' section, in the section under the heading 'Resources', I always look for the link 'Read documentation'. That link will not always exist, but if it is there, it is a link to what the project's developers consider the most useful information for their project.

    The 'Read documentation' link might take you to a page on drupal.org in the 'Documentation' section, or the link might take you to a page off of the drupal.org site.

    Generally speaking though, every contrib module will have a "README.txt" file and/or an "INSTALL.txt" file in its top-level folder that you can view after you download the module, or after you import it into your site.

    The various Documentation resources available for a module will be discussed further, near the bottom of this page, in the section Module documentation and help ⤵.

  4. Understand the various module versions available

       | Contents at this point ⤴ | 

    On the module's project page, see the section 'Downloads' under which are the sub-headings 'Recommended releases', 'Other releases', and 'Development releases'.

    The picture below is for Drupal 7, but hopefully you get the idea.

    Table of Drupal module versions categorized by 'recommended', 'other', and 'development' versions

    The version you choose must be compatible with the version of Drupal you are using. So since you are using Drupal 8, you can only use a 'Version' that begins with '8.x-...'. But do not worry. If you try to use a Drupal 7 version on a Drupal 8 site, your site will not allow it to be used.

    'Recommended releases'

    Look for the uppermost 'Version' that you can find for Drupal 8. That is the version that you should try first, and hopefully it will be under the sub-heading 'Recommended releases', which means that it is stable enough to use on a live site (also known as a 'production' site).

    'Other releases'

    If no 'Recommended releases' is available, your next best option is to try an 'Other releases' version, if available.

    'Other releases' are generally on their way to becoming a 'Recommended releases' version.

    But, on the other hand, on a rare occasion an 'Other releases' version is an older stable version of the module before major changes were made to it. In that somewhat rare case, the older stable version will have been moved from the 'recommended releases' when the newer version was ready. One reason for keeping an older version around would be if another separate module project requires that older version to work properly.

    'Development releases'

    The 'Development releases' version of the module is in some stage of development.

    It is the current 'state of the art of development' version, as the developers are working out bugs, or are adding new features.

    Be aware that the 'development release' might be being prepared for a future version of Drupal. For example, even though today Drupal 8.1 is the current recommended version of Drupal 8 core, the module's 'development release' might be being prepared for future use with the Drupal 8.2, or the 8.3 core versions that have features not found in the current 8.1 core version.

    'Version' column

    This column is for the version number of the module on that row.

    For more information about the version numbering scheme that is being used, go the drupal.org page Version numbers. (This link opens in a new tab/window.)

    'Download' column

    This column contains the download links you use to actually get the module.

    *.tar.gz versus *.zip

    Each module is available in both the *.tar.gz and *.zip formats. Each of these files contains all of the module's files and folders in a single file that has been archived (multiple files and folders in one file), and compressed (made small as possible).

    The *.tar.gz version is smaller, but the contents of the *.tar.gz and *.zip files are identical.

    MAC and Linux users should use the *.tar.gz version

    Windows users:

    Use the *.zip version if you intend to extract the file onto your computer.

    • A Windows extraction of a *.zip file onto a personal computer is a one-step process. If, however, you extract the *.tar.gz file onto your Windows computer using, for example, the built-in Windows tool, (that was first introduced in Windows 7, or 8) the extraction process will first extract the *.tar.gz file to a *.tar file, and then you will have to repeat the extraction process with the *.tar file to fully complete the extraction.

      Granted, as a Windows user, if you are only grabbing the download link for an automated import of the module using the steps below in the section 'Automated module import with URL', then either version would do. Similarly, if you are only downloading the file onto your computer before using the automated import method detailed below 'Automated module import of local file', then either version would do.

      In other words, Windows users will only find difficulties when they are extracting the *.tar.gz file onto their computer, because of the two-step requirement, and because older versions of Windows do not have a built-in tool for extracting *.tar.gz files.

      In conclusion, Windows users: Use the *.zip version.

    Additional *.tar.gz & *.zip info and tools

    For more information on *.tar.gz and *.zip files, including where to get free programs to work with them for Linux, MAC, and Windows, so that you can more easily 'extract' them, or create them on your computer (versus, for example, the limited built-in program within Windows), go to the drupal.org page that discusses this in more detail using the theme Zen as an example. It starts at the heading *.tar.gz versus *.zip and continues to the free tools information about thirteen paragraphs from the beginning. (That link opens in a new tab/window.)

    Leave the project page open: We will return to the project page later in this guide when it is time to actually import the module.

  5. Codebase and database overview

       | Contents at this point ⤴ | 

    Although a Drupal site requires a server program (Eg. Apache or IIS), a database program (Eg. MySQL or MSSql), and a PHP interpreter to run, everything that is unique to your site is contained in your database and codebase.

    The database is something which I have never needed to edit or adjust. It takes care of itself, so to speak. It is stored separately and away from the codebase.

    Online, the database is one or two directory levels above 'public_html'. If you are running Drupal locally on your computer, the database is, using Windows as an example, somewhere at the location you installed the 'stack', possibly in 'C:\Program Files'.

    The codebase is a set of the files and folders that you can navigate around in, just like any other set of files and folder on your computer.

    The codebase is made up of Drupal core, contrib modules, contrib themes, and any other extra files you have added, like images or videos. These files are the ones that you will on occasion need to, or want to modify.

    The top level folder of your Drupal codebase will be referred to on this page as

    </code>
    </p>
    
    <p>
    It is commonly located on your computer in a folder named 'sites', or is wherever you have wanted to put it. 
    </p>
    
    <p>
    Windows example: As an example, if you installed your Drupal site using Acquia Dev Desktop on a Windows computer, your codebase will by default be within: 
    <code>C:\Users\*YOUR-USER-ACCOUNT-NAME*\sites\*YOUR-D8-ROOT-FOLDER-HERE*
  6. Module location in the codebase

       | Contents at this point ⤴ | 

    All of the module's files and folders will be contained in a single parent folder in your codebase. That parent folder will be named similarly to the module itself, using lowercase-alphabetic characters, and occasionally the underscore character ("_") between multiple words.

    When you import a module into your Drupal codebase using either of the two automated processes discussed below, the module will be placed at the default recommended location [D8-root]/modules/*NEW-SINGLE-MODULE-FOLDER-HERE*/*MULTIPLE-FILES-AND-FOLDERS-HERE*.

    Manual import location

    If you import a module 'manually', you should place your module in that same default recommended location *HERE* [D8-root]/modules/*HERE*.

    After you perform a manual extraction of a *.tar.gz or *.zip file, be sure to check the file/folder structure to make sure that the module's folders are in the proper place, and are structured properly. This will be discussed below in more detail at Check file/folder structure after manual extraction ⤵

    Other possible locations

    While it is possible to use locations other than the default recommended location for modules, you should have a very specific reason for using any other location.

    One legitimate exception would be, for example, if you are running a multi-site installation with several Drupal sites sharing the same codebase, and you want your new module to only be available to a 'specific_site'. In that case, the module should go into the folder [D8-root]/sites/specific_site/modules/*HERE*.
        {{COMMENT: I am guessing about the proper location for a site-specific module in a multi-site Drupal 8 installation. That may NOT, in fact, be correct for Drupal 8 as it was for Drupal 7. If you know otherwise, please correct the paragraph above. If you know I guessed correctly, please delete this comment. Thanks.}}

    Otherwise, with a multi-site setup, if a module will be shared between all sites, it should be placed in the normal recommended location [D8-root]/modules/*HERE*.

    For simplicity sake

    The rest of this page will be based on your using only one Drupal website, and Not a multi-site setup.

    Do Not use the core 'modules' folder

    Be careful not to use the Drupal core 'modules' folder for you new module.

    The 'modules' folder that resides at [D8-root]/core/modules is reserved for Drupal core modules (the ones that come with the original download of Drupal). Your contrib modules should Not be placed there. They could go there, but they should not. If you keep your contrib modules (and your contrib themes) out of [D8-root]/core, that makes it easy to update your site later, because you can delete the entire [D8-root]/core folder, and replace it with the updated version of the [D8-root]/core folder.

    Using sub-folders of the 'modules' folder

       | Contents at this point ⤴ | 

    Some advanced users who intend to modify the contrib modules, or to create modules of their own, or who simply have a lot of additional modules, organize their non-core modules in sub-folders of the contrib 'modules' folder [D8-root]/sites/specific_site/modules.

    Keep in mind that each module must be unique in both the 'machine name' used for its folder name, as well as the name it uses in the *.info file.

       {{COMMENT: If the above paragraph is not entirely accurate, or if you can think of a better way to phrase it, or if you can add more details for clarity, (anywhere on this page) please post your recommendations by: 1.) Login to your drupal.org account/ Register. 2.) Return to this page at its top. 3.) Click the down-ward pointing arrow to the right of 'Edit', and then 4.) Click "Discuss". Post your recommendations, and I will happily, and thoroughly, incorporate them into this page. Thank you.}}

    A typical organization scheme might be:

    • [D8-root]/modules/contrib
      for original versions of contributed modules

    • [D8-root]/modules/custom
      for all custom modules

    • [D8-root]/modules/features
      for modules created using the 'Features' contrib module (This link opens in a new tab/window.)

    If you put your new module into a sub-folder of the 'module' folder before you first use it, then you can rest assured that Drupal will use your new module without any problem.

    Moving modules that have already begun to be used

    If you want to move modules that you have already begun using on your site, see the page Moving modules and themes [This is a Drupal 7 page]. (This link opens in a new tab/window.)

  7. Importing the module

       | Contents at this point ⤴ | 

    Importing a new module into your site can be done in several ways. From a beginner's stand-point, the three ways are:

     - Automated module import with URL
     - Automated module import of local file
     - Manual module import

    Import overview

       | Contents at this point ⤴ | 

    The process of getting your module into your codebase is at times referred to, elsewhere, as 'installing' the module. I use the word 'import' instead of 'install', because the import methods discussed below simply place the module into your codebase. Until you enable the module, it is dormant, and unused by your site.

    The two 'automated' methods are accomplished using your browser in the administrative area of your site, just like any other task you might perform on your Drupal site. The two automated methods can be used for both 'local' and 'online' sites, and are occasionally referred to as using your Drupal site's front-end UI (User Interface).

    The 'automated' methods take care of placing the module where it goes in your codebase, and also takes care of extracting the module's file and folders from the *tar.gz or *.zip file.

    The automated import processes will extract all of the module's files and folders into your codebase at [D8-root]/modules/*NEW_MODULE_HERE--A_SINGLE_FOLDER*/*MULTIPLE_MODULE_FILES_AND_FOLDERS_HERE*

    'Automated import' is not allowed by some servers

     | Jump over this. ⤵ | 

    I have read that some servers do not allow the two 'automated' methods of importing a module. I do not know any of the details of that sad situation, but I assume it relates only to 'online' sites. If this is the case for you, use the third method, 'Manual module import'.

    I can only guess that if this is a problem for your online site, it is related to the fact that an online site normally uses a directory level somewhere above 'public_html' to temporarily store the *.tag.gz or *.zip file while it extracts the files and folders to your site; And, that your webhost does not allow your account to access that higher level. Contact your webhost provider, and see if the problem can be resolved for you.

    If you need a 'Drupal friendly' webhost which also gives back to the Drupal Association, check out the discounted 'new account rates' from several providers at the drupal.org page Drupal Shared Hosting ~ drupal.org/hosting (This link opens in a new tab/window.).

    Automated module import with URL - Overview

       | Contents at this point ⤴ | 

    With this first automated method, you go to the module's project page at drupal.org, and copy the URL for the version of the module you want to use. You paste that URL into the appropriate box on the appropriate page of your site, and click "Install".

    If your site is online, this process is particularly fast, since it involves two online servers talking to each other, and bi-passes your personal computer. And, my online webhost server also extracts files at least ten times faster than my home computer can.

    Pros: You do not have to download the module, you do not have extract it, and you do not have to worry about where it goes in your codebase.

    Automated module import of local file - Overview

       | Contents at this point ⤴ | 

    With this second automated method, you start with the module in a *.tar.gz or *.zip file on your computer.

    That file will commonly be the one that you downloaded from the module's project page, but it could be, however, a *.tar.gz or *.zip file you created yourself after having made custom changes to the module.

    From the appropriate page on your Drupal site, you click the button 'Browse', and navigate to the file's location on your computer. Then, click "Install".

    Pros: You do not have to worry about where the module goes, and you do not have to bother with extracting the *tar.gz or *.zip file.

    Manual module import - Overview

       | Contents at this point ⤴ | 

    The 'manual' method amounts to: You manually put the module where it belongs in your codebase, whether that be locally on your computer, or to an online site by uploading it with your webhost Control Panel, or with SFTP.

    Also, you must manually extract the module's files from the *.tar.gz or *.zip file, either before importing it, or after.

    A manual import for a 'local' site running on your computer is not really such a chore, particularly if you are already familiar with using *.tag.gz or *.zip files.

    With a manual import to an 'online' site, it is much faster to upload the module as a single *.tar.gz or *.zip file, as opposed to uploading the multiple files and folders from an extraction of the *.tar.gz or *.zip file.

    Once you have the *.tar.gz or *.zip file 'online', you can easily extract it using your webhost control panel File Manager.

    1. Extract online *.tar.gz or *.zip file
    2. Go to your webhost Control Panel.
    3. Go to "Files" > "File manager".
    4. Navigate to the *.tar.gz or *.zip file.
    5. Click on the file once to highlight it.
    6. Click the page-top button "Extract".

    Check file/folder structure after manual extraction

     | Contents at this point ⤴ | Jump over this. ⤵ | 

    You should examine the files and folders structure of your module after you perform a manual extraction to make sure that everything is in its proper place.

    This is not something you have to do after using one of the automated import processes, but is something you should do after you extract a *.tar.gz or *.zip file manually on your computer, or online.

    The problem lies in the possibility of the module's parent folder being created twice: Once as a parent folder, and again as a child of that parent, with both folders having the same name.

    The possibility of that problem is not limited to, but is common when, for example, you are dealing with *.tar.gz files on a Windows computer.

    Using, for example, the module 'Token', what you do Not want to have is a parent its child both named 'token', like this:

    [D8-root]/modules/token/token/*MULTIPLE_MODULE_FILES_AND_FOLDERS_HERE*

    If you see that situation, eliminate one of the two identically named module folders by moving all of the *MULTIPLE_MODULE_FILES_AND_FOLDERS* up one level, so that you get this (using the 'token' module as an example):

    [D8-root]/modules/token/*MULTIPLE_MODULE_FILES_AND_FOLDERS_HERE*

    The import methods work for themes also

     | Contents at this point ⤴ | Jump over this. ⤵ | 

    It is worthy of note that all three of the import methods apply equally to contrib themes.

    The only difference is that the recommended location for contrib themes is different that the recommended modules folder.

    The themes use the 'themes' folder, and the modules use the 'modules' folder. Those two folders are 'siblings' to each other, with 'sibling' meaning that they are together in the same parent folder. They are, in fact, together in the Drupal 8 root-directory (folder) of your site.

    • Modules - [D8-root]/modules/*NEW_MODULE_HERE--A_SINGLE_FOLDER*
    • Themes - [D8-root]/themes/*NEW_THEME_HERE--A_SINGLE_FOLDER*

    For the two 'automated' import methods...

    You can use either the 'Install new module' button near the top of the 'Modules' page, or you can use the 'Install new theme' button near the top of the 'Appearance' page, to import either a module or theme.

    The respective addresses you will see in your browser's address bar are
    [D8-root]/admin/modules/install
    and
    [D8-root]/admin/appearance/install
    but both pages are essentially identical, and will work fine with either modules or themes.

    Enable the Drupal core module 'Update manager'

     | Contents at this point ⤴ | Jump over this. ⤵ | 

    Both of the automated import methods require that you have the Drupal core module 'Update manager' enabled.

    Check to see if is enabled by going to your 'Extend' page.

    At the 'Extend' page, scroll to the bottom of the top section 'Core'. If you see that the box for 'Update manager' is checked, then it is enabled.

    (Of course, it might be checked and not be enabled if you check-marked it recently, and you have not left the 'Extend' page, and you have neglected to click the page bottom button "Save configuration". So, if in doubt, refresh the 'Extend' page, and check for the check-mark again.)

    If the box for 'Update manager' is not checked, put a check-mark in the box. Scroll to the bottom of the page, and click the button "Save configuration".

    It is quite possible that you may not yet be seeing the button/link "Install new module" at the top of the 'Extend' page.

    I have found that for Drupal 8, I must also either 'run the update script', or 'clear all caches' to get get the "Install new module" button/link to show up. The steps to do that are below at Broken site problems - Run the update script, and 'Clear all caches' ⤵.

    Note: 'Clear all caches' is easier, quicker, and does work for me, without my having to 'run the update script'.

    Security: Enable 'Update manager' regardless

       | Contents at this point ⤴ | Skip over this ⤵ | 

    Regardless of whether or not you intend to use one of the automated methods for importing your module, you should always have your Drupal core module 'Update manager' enabled.

    It is important that you are notified when Drupal core updates are available that are 'security updates', so that you can IMMEDIATELY update your site.

    Otherwise, you run the extremely rare but possible risk of having your site hacked into after the Drupal security team releases the details of a Drupal site's vulnerabilities, as they do, if needed, on the third Wednesday of the month between 12 noon and 5pm Eastern time. Security release numbers and release timing explained ~ drupal.org (This link opens in a new tab/window.)

    For all the scary details relating to the most infamous occurrence of this, (known officially as 'Drupageddon', without the 'l', but commonly as 'Drupalgeddon',) do a Google search for Drupalgeddon 2014-10-15 ~ google.com (This link opens in a new tab/window.)

    During the original browser-based creation of your Drupal 8 site, the check-box for 'Update notifications': "Check for updates automatically" may not have been left selected.

    Or, you may have uninstalled the 'Update manager', because you do not want to see daily notices in your email about your Drupal site having updates available.

    Set it to weekly, if that is the case, by going to [D8-root]/admin/reports/updates/settings, which you can get to by going to "Manage" > "Reports" > "Available updates" > click the sub-tab "Settings". On the configuration page, select the radio-button for 'weekly', instead of the default option 'daily'.

    For more information about what the core module 'Update manager' can do, see the drupal.org page Update manager (and Update status) (This link opens in a new tab/window.)

    Automated module import with URL - The steps

       | Contents at this point ⤴ | 

    This is the easiest method to use, and is what I do every time I am checking out a new module. It works for 'local' Drupal sites running on your computer, and for 'online' sites at a webhost.

    This automated import process will extract all of the module's files and folders into your codebase at [D8-root]/modules/*NEW-SINGLE-MODULE-FOLDER-HERE*

    This 'automated' method requires you to have the Drupal core module 'Update manager' enabled. Jump up to Enable the Drupal core module 'Update manager'. ⤴

    Go to 'Extend' page.

    Go to your 'Extend' page, and near the page-top, just under the word 'Extend', you should see the button/link "Install new module".

    Drupal 8 website 'Modules' page 'Install new module' button for importing a new module

    If you do not see the button/link "Install new module" at the top of the 'Modules' page, return to the section Enable the Drupal core module 'Update manager' ⤴ and carefully follow all of the steps outlined there.

    Click "Install new module".

    The page you are taken to does not have a title, but the address is [D8-root]/admin/modules/install

    Go to your module's project page, and 'Copy' the module's download link

    Return to the project page for the module you want to install, and scroll down to the 'Downloads' section.

    If you need help deciding which version to use, jump up to the section Understand the various module versions available ⤴.

    In the 'Download' column, RIGHT-click the text-link for either the *.tar.gz file, or the *.zip file. (Windows: use *.zip)

    In the drop-down 'context menu' that appears, if you use:

    • FireFox - Click "Copy link location"
    • Chrome - Click "Copy link address"
    • Internet Explorer - Click "Copy shortcut"

    Return to your site

    Drupal Update manager page snippet for installing a module

    Paste the URL, which you have 'copied', into the box for: 'Install from a URL'.

    [Ctrl]+[V] - I prefer to do my 'pasting' by clicking once inside the box, so that the cursor is flashing on the left. Then I hold down one of my two "Ctrl" (Control) keyboard keys, and then I press the key "V". (The MAC 'Command' key = my Windows 'Ctrl' key)

    Click the button "Install".

    This automated import process will extract all of the module's files and folders into your codebase at [D8-root]/modules/*NEW-SINGLE-MODULE-FOLDER-HERE*

       {{COMMENT: I am not sure how any of this might apply, because it was posted by someone else. I will say that FTP, per se, is Not secure.}}

     | Jump over this. ⤵ | 

    If your site asks for your FTP username and password, it is referring to the username and password that you use to access your online webhosting account. If you have multiple sets of login credentials, use the set that you use to access your 'Control panel', as opposed to the set for your account finances.

    A note about FTP: If FTP is not enabled for your server, you may receive an error message. Drupal will not be able to diagnose the problem, only tell you that there is one. It's up to you to determine whether your server is properly configured for FTP.

    "Installation was completed successfully."

    On the next page that loads, you will see "Installation was completed successfully."

    Click the link "Enable newly added modules" to return to the Drupal 8 'Extend' page.

    Not that I am recommending it, but if you want your module moved from its current location at [D8-root]/modules/*NEW-SINGLE-MODULE-FOLDER-HERE* into a sub-folder, as for example into

    [D8-root]/modules/contrib/*NEW-SINGLE-MODULE-FOLDER-HERE*

    now is the ideal time to do it, before you start using it, as was discussed above at Using sub-folders of the 'modules' folder ⤴.

    You can jump over the next two sections, and continue at the section Enabling modules ⤵.

    Automated module import of local file - The steps

       | Contents at this point ⤴ | 

    This method is used to automatically import a module into a local or online site from a *.tar.gz or *.zip file on your computer.

    This 'automated' method requires you to have the Drupal core module 'Update manager' enabled. Jump up to Enable the Drupal core module 'Update manager'. ⤴

    Go to the 'Extend' page.

    Go to your 'Extend' page, and near the page-top, just under the title 'Extend', you should see the button/link "Install new module".

    Drupal 8 website 'Modules' page 'Install new module' button for importing a new module

    If you do not see the "Install new module" button/link, carefully follow all of the instructions above at Enable 'Update manager' ⤴

    Click "Install new module"

    The page you are taken to does not have a title, but the address is [D8-root]/admin/modules/install

    Download module from project page

    Return to the project page for the module you want to install.

    Scroll down to the 'Downloads' section.

    In the 'Download' column, find the version you want to download. If you need help deciding which version to use, jump up to the section Understand the various module versions available ⤴.

    Click the text-link for either the *.tar.gz file, or the *.zip file (Windows: use *.zip)

    Typically, that will start the download of the file.

    If you need help controlling exactly where downloads are saved onto your computer, see this section on a different drupal.org page: Know your browser's file-download location; or change browser's download location. ~ drupal.org/1248034#dl_location (This link opens in a new tab/window.)

    Return to your site page 'Extend'

    Drupal Update manager page snippet for installing a module

    Under the heading 'Upload a module or theme archive to install', click the button "Browse".

    Navigate on your computer to the location of the *.tar.gz or *.zip module file you downloaded.

    Click the button/link "Install".

    The Update manager will extract all of the files and folders from the archived/compressed *.tar.gz or *.zip file into your codebase at [D8-root]/modules/*NEW-SINGLE-MODULE-FOLDER-HERE*.

       {{COMMENT: I am not sure how any of this might apply, because it was posted by someone else. I will say that FTP, per se, is Not secure.}}

    If your site asks for your FTP username and password, it is referring to the username and password that you use to access your online webhosting account. If you have multiple sets of login credentials, use the set that you use to access your 'Control panel', as opposed to the set for your account finances.

    A note about FTP: If FTP is not enabled for your server, you may receive an error message. Drupal will not be able to diagnose the problem, only tell you that there is one. It's up to you to determine whether your server is properly configured for FTP.

    "Installation was completed successfully."

    On the next page that loads, you will see "Installation was completed successfully."

    Click the link "Enable newly added modules" to return to the Drupal 8 'Extend' page.

    Not that I am recommending it, but if you want your module moved from its current location at [D8-root]/modules/*NEW-SINGLE-MODULE-FOLDER-HERE* into a sub-folder, as for example into

    [D8-root]/modules/contrib/*NEW-SINGLE-MODULE-FOLDER-HERE*

    now is the ideal time to do it, before you start using it, as was discussed above at Using sub-folders of the 'modules' folder ⤴.

    You can jump over the next section, and continue at the section Enabling modules.

    Manual module import - The steps

       | Contents at this point ⤴ | 

    With this method of importing a module, you manually put the module where it belongs into your 'local' or 'online' codebase. You will also have to extract the module's files and folders from the module's *.tar.gz or *.zip file either before or after the move to the codebase.

    Download module from project page

    Return to the project page for the module you want to install.

    Scroll down to the 'Downloads' section.

    In the 'Download' column, find the version you want to download. If you need help deciding which version to use, jump up to the section Understand the various module versions available ⤴.

    Click the text-link for either the *.tar.gz file, or the *.zip file (Windows: use *.zip)

    Typically, that will start the download of the file.

    If you need help controlling exactly where downloads are saved onto your computer, see this section on a different drupal.org page: Know your browser's file-download location; or change browser's download location. ~ drupal.org/1248034#dl_location (This link opens in a new tab/window.)

    Local

    If your site is running locally on your computer, paste the downloaded file at [D8-root]/modules/*HERE*.

    For more information on *.tar.gz and *.zip files, including where to get free programs to work with them for Linux, MAC, and Windows, so that you can more easily 'extract' them, or create them on your computer (versus, for example, the limited built-in program within Windows), go to the drupal.org page that discusses this in more detail using the theme Zen as an example. It starts at the heading *.tar.gz versus *.zip and continues on down to the tools information for about six paragraphs. (That link opens in a new tab/window.)

    For Windows, RIGHT-click on the file, and in the drop-down context menu, click "Extract here" to use the built-in Windows extractor. Or better yet, use a program like 7-zip ~ 7-zip.org (This link opens in a new tab/window.)

    On modern Mac systems, double-click the .tar.gz file.

    Check the extraction to make sure that the module's folders are in the proper place, and are structured properly. For details, jump up to Check file/folder structure after manual extraction ⤴

    You can now delete the *.tar.gz or *.zip file if you like.

    Online

    If your site is 'online', upload the file using your webhost Control Panel, or use SFTP (secure file transfer protocol). I highly recommend against using FTP because it is not secure.

  8. Enabling modules

       | Contents at this point ⤴ | 

    After a module has been imported, it is only taking up space. It is not actively using any of your sites resources except storage space. Only after you enable it does it become active, and if you disable it, it again returns to a dormant state, just taking up space, but no longer affecting your site.

    To enable your new module, go to your site's 'Extend' page.

    In a hurry? If you put a check-mark in the box for a module on the 'Extend' page, and scroll to the page bottom and click the button "Install", you will enable that module.

    'Extend' page overview (part 1)

       | Contents at this point ⤴ | 

    On the 'Extend' page, every module that exists in your codebase had a row of its own in the tabular list.

    The top of the table does not have names for the columns.

    Check-box column

    The first column on the left is for check-boxes.

    When the check-box is not checked, it means the module is not enabled. If you were to check it, and scroll to the bottom of the page, and click the button "Install", that would 'enable' that module.

    When the check-box is checked, it means that the module is enabled, and therefore 'working' on your site.

    Name column

    To the right of the check-boxes is the module's 'human readable' name.

    Description column (part 1)

    The third column is for 'descriptions'.

    If you 'are' seeing descriptions to the right of each module name, then you can skip over the next section, which is the 'fix' for those who do not see them.

    The following 'fix' section does include an overview of the 'Appearance' page for themes, however, in case you are interested.

     | Skip the 'Fix', & jump down to 'Extend' page overview (continued) ⤵. | 

    Fix: Show hidden module descriptions on 'Extend' page

       | Contents at this point ⤴ | Jump over "Fix:..." to "'Extend' page overview (continued)". ⤵ | 

    If you are not seeing the column with the module descriptions to the right of the column with the module names, but rather, you are only seeing the column of check-boxes and module names to the right, then your browser window is too narrow for whichever 'responsive' theme you are currently using for the administration pages of your site.

    In other words, your responsive 'Administration theme' is hiding the descriptions because your browser is too narrow to display them within the browse window.

    To correct this situation, start by closing the vertical left-hand administration menu, if you have it open, by clicking the admin-menu item "Manage".

    If you are still not seeing the description for each module to the right of its name, then do the following, notably the third item, set your admin theme to 'Stark'.

    Use a larger browser window

    Make your browser window larger. If that does not work, or, if that is not possible because, for example, you are on a mobile device...

    Use smaller font

    Try making the font as small as you can, and yet still usable.

    Core theme Stark for 'Administration theme'

       | Contents at this point ⤴ | 

    If the descriptions still do not show up, you can go the the themes' 'Appearance' page, and set the theme 'Stark' as your 'Administration theme'.

    The table on the 'Extend' page will no longer be 'responsive', but rather, it's rows will extend off the sides of your screen.

    You will have to scroll left-to-right, side-to-side, but at lest you should be able to see the module descriptions for a change.

    'Appearance' page overview

     | Contents at this point ⤴ | Skip "'Appearance' page overview", and jump to "Install Stark and set as 'Administration theme'" ⤵ | 

    The 'Stark' theme comes with Drupal core, and will reveal the 'descriptions' column, though you will have to scroll horizontally (left - right) to view those descriptions.

    Go to the 'Appearance' page, and find the theme 'Stark'.

    It will quite possibly be in the section 'Uninstalled theme'. That section is closer to the bottom of the page, under the section 'Installed themes'. By default, Stark is not enabled upon the creation of a Drupal 8 site.

    'Install' versus 'Install and set as default'

    The administrative (admin) pages of your site, by default, use a different theme than your non-admin pages.

    'Bartik' is the default theme for non-admin pages, but whichever theme you see at the top of the 'Appearance' page is the theme that is currently being used for your non-admin pages.

    'Seven' is the default theme for admin pages, but you want to set Stark as the admin theme so that is is used on the admin page 'Extend'.

    Before you can set Stark as your admin theme, it has to be enabled ('Install'-ed).

    Under the image and name for 'Stark 8...', you will see the text-links 'Install', and 'Install and set as default' (or, possibly, those links could be on the right).

    If you were to click 'Install and set as default' for Stark, that would enable it, but that would also set Stark as the theme for your non-admin pages, and that is something that you may not want to have happen. Additionally, clicking 'Install and set as default' does Not immediately set Stark as the admin theme, so, I recommend "Install".

    If you click 'Install' for Stark, it will become enabled, and after that you can set it as your admin theme, instead of using 'Seven', or whichever theme you are currently using that is not allowing you to see the descriptions on the 'Extend' page.

    Install Stark and set as 'Administration theme'

       | Contents at this point ⤴ | 

    So, click 'Install' for Stark (unless you want to check out Stark as the theme for non-admin pages, in which case, click 'Install and set as default'.)

    After the 'Appearance' page reloads, scroll down to the very bottom of the page, to the section 'ADMINISTRATION THEME'.

    Tip: By clicking on "ADMINISTRATION THEME", repeatedly, you will toggle what is known as the 'accordion' feature for this item. Specifically, that section will toggle between being 'expanded' and being 'collapsed'.

    Under the sub-heading 'Administration theme', click the downward pointing arrow on the right, to display the list of enabled themes.

    Note aside: The list item 'Default theme' means that the admin theme to be used should simply be whatever theme is currently being used as the 'Default theme' for the non-admin pages. So, whatever theme is currently at the top of the Appearance page will be used as the admin theme as well. And if you change the default theme for the non-admin pages at the top of the appearance page, then that 'front-end' non-admin theme will be used as the administration theme also, from that point forward.

    In the drop-down menu for the 'Administration theme', click on 'Stark', so that it displays in the textarea box.

    Click the page-bottom button "Save configuration".

    Return to the your 'Extend' page.

    'Extend' page overview (continued)

       | Contents at this point ⤴ | 

    On the 'Extend' page, to the right of each module name is the first line of that module's description.

    'Accordion' toggle: By clicking on that first line of the description, repeatedly, you will toggle what is known as the 'accordion' feature for the module descriptions. Specifically, the descriptions will toggle between being 'expanded' and being 'collapsed'.

    Click the top line of the 'description' in the row for the module you installed, to fully expand the description.

    Machine name: The item 'Machine name' will be the same as the name of the parent folder of your module if you are looking at the 'main' module for the module you installed. If the 'Machine name' does not match the folder name of your module, then you are looking a module that is not the main module, but rather, is possibly one of the other modules of a set of multiple modules that came as a set when you installed your module.

    Requires: If this item exists, it will list all of the modules that your module depends on.

    Those other listed modules will need to exist on your site, and be enabled for your module to work.

    Following each module in that listing, you will see either see nothing, or you will see '(disabled)', or '(missing)'.

    'Nothing' is good. That means that the module that your module requires, is already on your site and enabled.

    '(disabled)' means the other module is on your site, but it is not enabled. You do not have to bother with enabling any '(disabled)' module, because when you try to enable your module, you will be prompted to let the Drupal system enable the '(disabled)' module for you.

    '(missing)' means that the other module is not on your site (assuming it is a 'module' that is missing, and not something else, like a 'library'), and you will have to go that module's project page at Drupal to get it.

    One quick way to get to its drupal.org project page is to copy the name as it is listed following 'Requires', and past that name at the end of the URL:

    https://www.drupal.org/project/

    For example, I have the module 'Paragraphs' as my chosen new module, and its description displays:

    Requires: Entity_reference_revisions (missing)

    So, into my browser address-bar, I put:

    https://www.drupal.org/project/Entity_reference_revisions (...Do not worry about the 'e' being an upper-case 'E')

    ...and I press the keyboard key [Return/Enter].

    Later, after I have entity_reference_revisions installed, the description for Paragraphs displays...

    Requires: Entity Reference Revisions (disabled)

    ...which is a nice change, referring to the name change from 'entity_reference_revisions' to 'Entity Reference Revisions', since 'Entity Reference Revisions' is how that module is listed on the 'Extend' page, and so now I know what specifically to look for in the name column to find 'that' new module.

    Missing libraries and other possible non-module requirements of a module

    At times, a module will be dependent on something besides another module that is missing from your site, as for an example, a library.

       | Skip over this ⤵ |&nbsp

    {{COMMENT: I have too little experience, too long ago, and none of it successful, to be able to give relevant details here. And, unfortunately, individuals with that knowledge are likely sufficiently advanced Drupal users such that they will never be at this page and see this comment. It a 'Catch-22'. Therefore, my friend, if in the future, you, in your merry Drupal travels, discover those relevant details, and you think back to having been here, if you would be so kind as to return here, and post your knowledge, you will be serving an untold number of other new Drupal users, who will be, as you now are: in the dark. Additionally, I would be forever in your debt. (The value my gratitude can easily and legitimately be argued to be in range of, lets say, for you math Majors, the number that as a denominator renders a fraction beyond any description.) PS: Please delete this comment after you have added relevant details. Thanking you in advance. PSS: For you non-math Majors, a fraction with zero as the denominator is classified as being 'undefined'. ¿Estabe, mi amigo (amiga)? Broma.}}

    'Required by:' The item 'Required by', when it exists in a module's description is most helpful if, and when, you are considering uninstalling that module, because you can see which other modules, if any, that uninstalling it will affect.

    The 'Required by:' modules that are listed (if any) will be followed by either nothing, or by '(disabled)'. '(disabled)' means it exits on your site, but it is not enabled; whereas if '(disabled)' is not displayed, then that module is both 'on your site' and 'enabled'.

    Multiple modules packaged in one project

    Please Note that it is not unusual for a contrib module to actually be a of set more than one module. Yet, even if a single contrib module project comes with multiple modules, all of the modules from a single download will be found together in a single section on the 'Extend' page.

    If your module came as a set of more than one module, one of them is the main module, and, usually, the other module(s) will be dependent upon the main module to work.

    You will usually want to enable the main module, but you may or may not want to enable the other modules (if any) that came with it.

    The description to the right of the module name (in the tabular list on the 'Extend' page) should give you a good idea of which module is the main one.

    And, as explained earlier, the description will tell you which other modules it is dependent on, if any, and whether or not they already exist on your site, and whether or not they are enabled.

    Do not worry though, because if the module you try to install has another module that it depends upon, and which is either not on your site, or is not enabled, you will get a helpful notice to that effect. If the other module is on your site but not enabled, the notice you will get will also be giving you the option to continue by allowing it to enable that other module for you.

    If, on the other hand, the module you are trying to install is dependent upon another module that is not already on your site, you will have to return to drupal.org, and get that other module from its project page.

    Also, a module might be dependent on something other than another module, as for example, upon a 'library' that needs to be found and downloaded. In that case also, when you try to enable the module, you should get a notice telling you what you are lacking.

    The description for a specific module will also usually list which, if any, of the other modules you have on your site, both enabled and not enabled, that are dependent upon that module.

    If it should happen to be that the module is designed strictly for development purposes, and that it should not be used on a 'live' site for security reasons, or, as another example, because it dramatically slows down the responsiveness of your site, that information would, at a minimum, have been explained on the module's project page, and might also be in the description on the 'Modules' page.

    At the very bottom of the description, the often seen (, but not always,) links 'Help', 'Permissions', and 'Configure' will be displayed if they are available for your module.

    Those items will be discussed individually in the next section, "Configuring modules", after you are done enabling your new module.

    Enable your new module

       | Contents at this point ⤴ | 

    Find your new module on the 'Modules' page

    Your new module will never be in the top section 'Core', which is reserved for Drupal 8 modules. Not all of the modules that originally came with Drupal 8 core are in that top section, but the majority are.

    Your module could be in any one of the following sections, but, as to which one, that is dependent on how the module's developer(s) wanted to categorize it.

    Scroll down the page until you find the module you installed.

    Put a check-mark in the left-hand box for any of the modules that you want to enable.

    Click the page-bottom button "Install".

    "Some required modules must be enabled"

    If you happen to be installing a module which 'requires' another module (or several) that are already on your site, but are not enabled, you will get this notice:

    ____________________________
    
    Some required modules 
    must be enabled
    
    You must enable the 
    *REQUIRED-MODULE-NAME-HERE*
    module to install 
    *YOUR-MODULE-NAME-HERE*.
    
    Would you like to continue 
    with the above?
    ____________________________
    

    That will be followed be a button "Continue", and a text-link "Cancel".

    Click the button "Continue".

    When the 'Extend' page reloads, and displays at the top, "The configuration options have been saved", then you know you have successfully enabled your new module.

    If you would like to double-check that the module is installed, scroll down the module list, and make your new module has a check-mark in its box.

    Broken site problems - Run the update script, and 'Clear all caches'

       | Contents at this point ⤴ | Jump over "Broken site problems..." down to "Configuring modules" ⤵

    When my site is acting strangely, or displays bizarre errors, or displays a blank page, particularly after I have just enabled a module, the first thing I do is refresh the page I am on.

    After that, I have quite often found that 'running the update script', followed up with 'clearing all caches', solves the majority of any problems.

    Of the two, 'Clear all caches' is an easier, and quicker 'fix' to try, and is at times effective, but the steps below will start with 'running the update script', because that is the most thorough of the two, and is the first thing I do anytime my site is giving me trouble.

    I will generally always follow up my running of the update script with clearing all caches, out of habit, since my Drupal 7 site's module 'DHTML-Menu' required me do do so every time I ran the update script.

    So, the following two steps seem to me to be the most logical things to do first when addressing any site problems, and you should feel free to run the update script, or clear all caches, anytime you want.

    • Run the update script for your site

      Add a single forward-slash character, and 'update.php' behind your website address in your browser.

      Eg. http://sample-site/update.php

      Press your keyboard-key [Return/Enter].

      At the page 'Drupal database update', click the button "Continue".

      The next page should report, 'No pending updates.' Click the link "Administration pages".

      If, by any chance, that page does not display 'No pending updates', but rather indicates that updates are pending, then apply the pending updates. That would, by the way, be an indication that you should have run the update script at some earlier point in time, as for example, after having updated a module, or perhaps, after updating Drupal core.

    • Clear all caches

      Go to your site page: "Administration" > "Configuration" > 'Development': "Performance"

      [D8-root]/admin/config/development/performance

      Click the button "Clear all caches".

  9. Configuring modules

       | Contents at this point ⤴ | 

    Go to the 'Extend' page if you are not already there.

    On the 'Extend' page, each table row is for one module, and begins on the left with a check-box, followed immediately to the right by the Module's name.

    To the right of the module name is a third column with the module's description.

    If you see the descriptions, jump down to 'Accordion' toggle for the descriptions ⤵

    If you are not seeing descriptions

    If you are not seeing a description for each module to the right of its name, then your 'responsive' administration theme is hiding the descriptions.

    The details of this problem, and the details of its solution were discussed above starting at Fix: Show hidden module descriptions on 'Extend' page ⤴, but the following brief outline is a summary of those steps for resolving that situation.

    Quick fix outline for hidden descriptions on the 'Extend' page

    Close the left-hand vertical administrative menu if it is open.

    If you are still not seeing the descriptions, then you need to do one of the three following things that were discussed in greater detail above in the section Fix: Show hidden module descriptions on 'Extend' page ⤴.

    • Larger browser window

      Make your browser window larger. If that does not work, or if it is not possible because, for example, you are on a mobile device...

    • Smaller font

      Try making the font as small as you can, but still usable. If the descriptions still do not show up,...

    • Set 'Stark' as the 'Administration theme'

      The 'Stark' theme comes with Drupal core, and will reveal the 'descriptions' column, though you will have to scroll horizontally (left - right).

      Go to the 'Appearance' page, and click "Install" for the theme 'Stark' (Not "Install and set default")

      After the 'Appearance' page reloads, go to the bottom of the 'Appearance' page, set Stark as the 'Administration theme', and click "Save configuration".

      Return to the 'Extend' page.

    'Accordion' toggle for the descriptions

    On the 'Extend' page, at the table row for you new module, click the top line of its 'description' to fully expand the accordion toggle feature for its description.

    At the bottom of the description, the links 'Help', 'Permissions', and 'Configure' will be displayed for your module when they are available.

    Those links, however, will only be displayed after a module has been enabled.

    Save time by not having to go hunting.

    I consider the 'Extend' page to be the best place to establish whether or not a module has 'permissions' options, or 'configure' options, associated with it. And, conveniently, those are direct links to those options when applicable.

    It is true that a configuration page for a module will be accessible from your site's 'Configuration' page, but you need to know ahead of time whether or not a configuration page for a module even exists, and then you need to know under what heading it is located on the 'Configuration' page.

    Instead, I find the module on the 'Extend' page, and check to see whether or not it has a 'Configure' link, which takes me directly to the configuration page.

    It is also true that you can go to the 'Permissions' page via the Admin-menu item 'People' > "Permissions" to set permissions for a module, but it would be very helpful to know ahead of time whether or not permissions for a module even exist, and if so, it would also be helpful to know exactly under what heading name they are classified on the 'Permissions' page.

    Instead, I find the module on the 'Extend' page, and check to see whether or not it even has a 'Permissions' link, which takes me to the right spot on the 'Permissions' page.

    Module 'Help' link

       | Contents at this point ⤴ | 

    The amount of readily available help documentation provided by the developers of a module varies between modules, both in terms of existence, depth of detail, and in its level of usefulness to new users.

    Module documentation will be discussed in more detail below in the section "Module documentation and help", but for now, the 'Help' button found on the 'Extend' page will be briefly discussed in terms of its usefulness for module configuration.

    If on the 'Extend' page, your module's description has a 'Help' link, click on it and see what you get.

    The page that opens is being generated by your site, using information contained within your imported module folder.

    I recommend that you at least scan the help page to get an idea of what it contains.

    That page might contain details that will be relevant for you when you next use either the 'Permissions' or 'Configure' buttons for your module (if applicable).

    When you are done exploring the 'Help' page, return to the 'Extend' page.

    Module 'Permissions' link

       | Contents at this point ⤴ | 

    Not all modules have 'permissions' associated with them, but if a module does, you should be seeing a 'Permissions' link for the module to the right of its description on the 'Extend' page.

    Whenever a module is first enabled on your site, the 'Administrator' role is automatically granted full permissions for that module.

    Yet, some modules will require that you set permissions for the 'Anonymous user' and 'Authenticated user' roles to get a module to work for those roles in the manner that you want it to.

    Permissions information for your new contrib module might have been at the 'Help' link discussed just above, or it might be in 'README.txt' or 'INSTALL.txt' files at the top level of the module folder as will be discussed below in the section Module documentation and help  ⤵.

    Permissions overview

       | Contents at this point ⤴ | Jump over "Permissions overview" to "Your module's permissions" ⤵ | 

    If you have never been to the 'Permissions' page before, it would be helpful for you to have an idea of what it looks like as you read further.

    To get to the 'Permissions' page, you can click on any one of the 'Permissions' links on the 'Extend' page; or, in your page-top admin menu, click "People", and at the "People" page, click the page-top tab (or link) labeled "Permissions".

    By default, your Drupal site creates three permission levels, one for each type of basic site user: 'Anonymous user', 'Authenticated user', and 'Administrator'.

    The 'Administrator' role user accounts

    As you might guess, you are an 'Administrator', and as such, your account is granted the highest level of permissions allowed on your site: permission to do anything and everything.

    The 'Administrator' role will always have all of the permissions granted to it, and it is not possible remove a permission from the 'Administrator' role. (That is something different from Drupal 7.)

    The 'Authenticated user' role user accounts

    'Authenticated user' accounts are accounts that are created, for example, by complete strangers, who come to your site, and register for an account.

    When authenticated users are 'logged in' to their accounts, your site classifies them as having a role of 'Authenticated user', and they will be granted permission to do the things, but only the things, that you have set permissions for an 'Authenticated user' to do.

    By default, the 'Authenticated user' role has relatively few permissions granted to it, but by default an 'Authenticated user' can post comments, and use shortcuts.

    The 'Anonymous user' role user accounts

    An 'Anonymous user', however, can do little more, by default, than view site content, and use the site-wide contact form.

    You are in control

    You can change the various permissions for each role as you like.

    You can also create any number of additional new accounts, and specify each account as being either an 'Authenticated user' account, or an 'Administrator' account. You give each account a minimum of a username and password, though you might also assign an email address as well.

    Additional user roles

    In addition to the three user roles that come with Drupal core, you can create any number of additional user roles if, for example, you want individuals that you trust to be able to administer certain things, but you do not want them to have permission to administer everything on your site.

    To create another user role, at the top of the 'Permissions' page, click the tab 'Roles', and near the bottom of that page, click the button 'Add role'.

    Your module's permissions

       | Contents at this point ⤴ | 

    If on the 'Extend' page, you have a 'Permissions' link for your module, click that.

    The 'Permissions' page for your module is at [D8-root]/admin/people/permissions

    Whenever you click on one of the 'Permissions' links on the 'Extend' page, you will be taken to the 'Permissions' page at a point on the page with the first of the relevant permission(s) at the top of the window (There may be more than one permission associated with the module).

    You might have to scroll up a line, bringing the window down a hair, because the permission you want might be hidden just under the admin-menu at the page's top.

    Be aware, however, that if the 'Permissions' page should happen to present itself as being scrolled all the way down, then the permission you seek will probably not be at the top of your viewing window. In other words, since the page is down as far as it can go, and your specific permission is too near the bottom of the list, your permission, therefore, will not be at the top of the viewing window, but rather, somewhere in the middle of it.

    The 'Administrator' column check-boxes (furthest to the right) will always be checked, and you can Not de-select them.

    Whether or not you allow 'Anonymous' and/or 'Authenticated' users to have a particular permission is up to you.

    If it is not clear to you what each permission is intended to control, and what the full implications might be behind allowing a permission for either 'Anonymous user' and/or 'Authenticated user', then please consult the 'Help' link for the module on the 'Extend' page (if the 'Help' link exists). Or, consult the 'README.txt' or 'INSTALL.txt' files at the top level of the module folder, as will be discussed below, along with additional help options, in the section Module documentation and help ⤵.

    Module permissions security warning

       | Contents at this point ⤴ | Jump over Warning ⤵ | 

    Any permission that displays the following words, should only give given to individuals that you trust 100%.

    Warning: Give to trusted roles only; this permission has security implications.
    

    And, importantly, even though a permission does not have the full warning quoted above, if it uses the word 'Administer' in its first-column description, then that item might also be a huge security risk, and should be given only to individuals you completely trust.

    For example, the 'Taxonomy' permission reads, "Administer vocabularies", but it does not display the full warning above.

    And yet, if you give someone permission to administer taxonomies, you will be giving them access to editing fields, which puts your site in jeopardy.

    In conclusion, when a 'Permission' uses the word "Administer", only give it to those individuals who you completely trust.

    Return to the 'Extend' page when you are done making changes on the 'Permissions' page.

    Module 'Configure' link

       | Contents at this point ⤴ | 

    On the 'Extend' page, if the link 'Configure' is available for your new module, click that.

    If the link 'Configure' does not exist, then your module has no configurable options.

    If it is not clear to you what each configuration option is intended to control, and what the full implications are behind each option, then please consult the 'Help' link for that module on the 'Extend' page (if the 'Help' link exists). Or, consult the 'README.txt' or 'INSTALL.txt' files at the top level of the module folder, as will be discussed below, along with additional help options, in the section Module documentation and help ⤵.

  10. Module documentation and help

       | Contents at this point ⤴ | 

    Module documentation and help

       | Contents at this point ⤴ | 

    If you want to know all of the relevant details that you need to intelligently use the module you just installed, then, offhand, I can think of several things you may need to do, or places to look.

    In order of ease-of-use, but with no guarantee of success, in any timely fashion, regardless of which you use:

    1. Trial and error

      Some modules do not actually need you to do anything. They just do what they do behind the scenes.

      More typically though, a module is something that you interact with. Some of them are easy to use, or at least are intuitive to use. It is made clear to you by their design what it is that you need to do to accomplish whatever it is that you want to do.

      And even in the case that a module requires guesswork on your part, you really do not have to worry about trying out any option available to you, because your site is backed up. It is backed up, right?

    2. Project page content

      The modules' home page, if you will, is its project page at drupal.org. The project page is where I usually go first when I am seriously considering enabling a module.

      By carefully reading the page a couple of times, you can be relatively certain that you have all of the most critical details you need-- assuming you are someone whose level of technical understanding is somewhat close to being the intended audience, or intended consumer of the module that the developers' had in mind.

      Typically, if any other modules are required for that module to work, those other modules will be listed by name.

      That page might also include other helpful links of interest for a wide variety of other things directly relating to that module.

    3. Project page link 'Read documentation [when existing]

      This is a single link under the right-column heading 'Resources' (a heading which drops down below the page's main content when your viewing window is narrow)

      That link may in fact not exist, but if it does, it will be what the developers consider to be the single resource to begin a hunt for more information.

    4. Google search site:drupal.org *MODULE-NAME-HERE* for a search limited to drupal.org

      If I want a search that is limited to the entire drupal.org site, this is the tool I use. And, I do use this, quite often.

      I go the google.com. I type:

      site:drupal.org

      Note that there is No space following the colon (":") above in front of the 'd' of the domain name, and do not use 'www'.

      I add a 'blank-space' following whatever domain name I want to search, and type whatever keywords I can think of, namely, for our discussion today, the module's name.

      You might consider using the search engine provided by drupal.org, and provided on any and all of the drupal.org pages. I did. Once.

    5. Google search "drupal module *MODULE-NAME-HERE*"

      If I want to see what other information is available outside of drupal.org for a specific module, across the Earth, I use the following 'keyword phrase' at google.com

      drupal module *MODULE-NAME-HERE*

    6. "readme.txt", or "install.txt" file

      This has historically been the official place where all of the truly relevant and necessary information for a module belongs.

      At the top level of the module folder (after it is extracted, if necessary) you used to always find a README.txt file, or an INSTALL.txt file, or both.

      It is kind of a pain in the neck to access, though, for me at least, since my site is online at a webhost.

      As such, I would have to download the module, or go to my webhost Control Panel's File manager to view it. Now that I think about it, I never did either of those two things. I am more of a 'Core is plenty more than I can handle, anyway, for the most part' kind of person.

      Note: Sometimes the README file has no .txt extension. If you double-click it, your computer won't know what program to use. In that case, open a text editor first, and then open the file using the editor's 'file open' command. Or, with Windows, RIGHT-click it, and click "Open with".

    If you see as I see, if you feel as I feel,...

    See this issue, for my dream of the ideal way to provide Drupal inline module help; when and where you need it.

    Future Prediction: 
    Year (unknown):
    
    "To access all of the information 
    you could possibly ever want 
    for your newly imported module, 
    or any other module 
    currently on your site, 
    whether enabled, or not:
    
    1.) Go to the 'Extend' page
    2.) Find the module in the list
    3.) Click "Help"
    
  11. Updating the module

       | Contents at this point ⤴ | 

    See the page Updating modules (This link opens in a new tab/window.) [BROKEN LINK - LACKING DRUPAL 8 PAGE FOR UPDATING MODULES]

    The Drupal 7 page is Updating modules (Drupal 7) ~ drupal.org (This link opens in a new tab/window.).

    Note: After you update a module that you have existing on your site (which you should only do after making a backup of both your database-- and your codebase folders: 'modules, 'sites', and 'themes'), is is a good idea to, and sometimes critical to, 'run the update script', a process detailed above at Broken site problems - Run the update script, and 'Clear all caches' ⤴.

    Those instruction amount to you typing /update.php following your site address in your browser's address-bar, as for example http://www.example.com/update.php, then press your [Return/Enter] key, and on the page that loads next, click 'Continue'.

    Or, to 'run the update script', click the link 'update script' at the top of the 'Extend' page.

    To keep up-to-date on any issues and fixes related to your newly installed module(s)

    You can create a user account on Drupal.org (if you haven't done so already), and then subscribe to the feed of each module you are using from the issues page for that module.
    drupal.org 'Issues' page 'Subscribe button for 'following' a module's or theme's issues or updates

    You can get to the 'issues' page for each module from its drupal.org project page, under the heading 'Issues for ...'.

  12. Uninstalling the module

       | Contents at this point ⤴ | 

    See the page Uninstalling modules [This link currently goes to the Drupal 7 page for uninstalling modules] (This link opens in a new tab/window.)

  13. Advanced Linux, Drush, and Git topics

       | Contents at this point ⤴ | 

    The following are a few assorted advanced topic items, relating to things I have no idea about.

    They are most likely explored in greater detail and depth elsewhere on drupal.org, and by my accounting, ought to be moved to those respective 'other' pages.

    Linux - Extracting files and folders from a *.tar.gz file

    On Linux or similar systems, use the command line:

    tar -zxvf modulename-drupalversionnumber.tar.gz

    You should see a list of files extracted into a folder.

    Upload the folder. Transfer your files with SFTP or FTP to the desired modules folder in your Drupal installation (or if you are using version control, add and commit them to your code repository).

    Arrangement of files and folders following the extraction of a *.tar.gz file for a module project

    Drush - Installing a module with Drush ~ drupal.org/node/477684 (This link opens in a new tab/window.)

    Drush (DRU-pal SH-ell) is the fastest way to install modules.

    The commands are drush dl module_name and drush en module_name.

    Module Development with Drupal

    For a collection of useful materials for module developers, see Module Development with Drupal.

    Git - Installing sandbox projects

    On occasion you may wish to try out a sandbox or experimental project. A sandbox project is a module or theme that contains experimental code that is not yet ready for general use.

    Sandbox projects are not packaged for download, so the usual way of getting them is by "checking them out" using Git, the software used for managing Drupal code.

    If you haven't used Git before, the good news is that it should be relatively quick and painless.

    • Install Git, see the handbook guide.
    • From the sandbox project's page, click the "Version control" tab above the project description and follow the (one step) instruction for "Setting up repository for the first time".

    This will get you the project code, which you can then install on your site like any other module or theme.

 | Contents' beginning ⤴ | Page Top ⤴ |