Problem/Motivation
Following a somewhat recent update to Drupal.org that attempted to create separate handbooks for D7 and D8, there are many problems with D8 documentation: #2855171: Documentation migration makes significant sections of the Drupal 8 handbook unnavigable or redirect to Drupal 7 docs
In particular, though, many generic URLs once linked from core help hooks, etc. now redirect to Drupal 7-specific content. Example: #2854586: Stark's helptext link redirects to D7 theme guide We need to check and probably fix this on many or even most of the links in core.
In #25 eojthebrave posted a script that will get all the d.o links in core. It creates two CSV's one listing all the urls and the other the non 200 results. The results are in https://docs.google.com/spreadsheets/d/1oBEGziXaw1cXMqmwI-0yzNuvJIu5rwXE.... The script was run again in May 2021 and updated sheets uploaded.
Proposed resolution
Identify links to D7 docs in core, and fix them.
Remaining tasks
- Use the spreadsheet to find urls to change.
- For those that have a "7" in the redirected path, they are definitely wrong and need to either have the correct D8 docs identified, or have a documentation bug report filed that there are no D8 docs since the migration.
- Update the speadsheet with the changed URL so it is easy to find ones to change
Make a followup to convert links to a 'generic form' See #49.
User interface changes
Many changed strings as we fix URLs. Correct links
API changes
N/A
Data model changes
N/A
| Comment | File | Size | Author |
|---|---|---|---|
| #41 | 2855175-41.patch | 1.17 KB | quietone |
| #38 | 2855175-38.patch | 2.13 KB | anmolgoyal74 |
| #37 | Screen Shot 2020-10-10 at 08.17.51.png | 68.6 KB | kattekrab |
| #25 | checkurls.sh_.txt | 1.05 KB | eojthebrave |
| #16 | many_handbook_urls-2855175-16.patch | 2.05 KB | siliconmeadow |
Comments
Comment #2
xjmComment #3
nonprofit commentedIn Terminal, from 8.2.6's root, I ran
grep -n drupal.org -r * > ~/Documents/core_links.txt. The resulting file is attached.Comment #4
nonprofit commentedComment #5
nonprofit commentedOK, here's what I found. There are a good number of links in 8.2.6 core which redirect (http://api.drupal.org to https://api.drupal.org/api/drupal). However, to stay on task; here is what I found redirecting to D7 documentation:
https://api.drupal.org/api/drupal/includes%21pager.inc/function/PagerDef...
https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme/7.x
https://api.drupal.org/api/drupal/modules%21user%21user.install/function...
https://www.drupal.org/docs/7/site-building-best-practices/best-practices
https://www.drupal.org/docs/7/setting-up-cron/overview
https://www.drupal.org/docs/7/api/database-api/database-api-overview
https://www.drupal.org/docs/7/api/database-api/database-configuration
https://www.drupal.org/docs/7/creating-distributions
https://www.drupal.org/docs/7/install
https://www.drupal.org/docs/7/installing-drupal-7/step-1-download-and-ex...
https://www.drupal.org/docs/7/extending-drupal-7/overview
https://www.drupal.org/docs/7/multisite-drupal/multi-site-sharing-the-sa...
https://www.drupal.org/docs/7/comments
https://www.drupal.org/docs/7/administering-drupal-7-site/working-with-c...
https://www.drupal.org/docs/7/nodes-content-types-and-fields/working-wit...
https://www.drupal.org/docs/7/working-with-menus/overview
https://www.drupal.org/docs/7/nodes-content-types-and-fields/about-nodes
https://www.drupal.org/docs/7/administering-drupal-7-site/working-with-t...
https://www.drupal.org/docs/7/testing/testing-module
https://www.drupal.org/docs/7/organizing-content-with-taxonomies/organiz...
https://www.drupal.org/docs/7/administering-drupal-7-site/working-with-t...
https://www.drupal.org/docs/7/multilingual/translating-content
https://www.drupal.org/docs/7/multilingual
https://www.drupal.org/docs/7/theming
https://www.drupal.org/docs/7/configuring-clean-urls/enable-clean-urls
https://www.drupal.org/docs/7/install
https://www.drupal.org/docs/7/extending-drupal-7/overview
https://www.drupal.org/docs/7/managing-site-performance-and-scalability/...
https://www.drupal.org/docs/7/theming/creating-accessible-themes
https://www.drupal.org/docs/7/system-requirements/overview
https://www.drupal.org/docs/7/system-requirements/database-server
https://www.drupal.org/docs/7/system-requirements/what-is-pdo
https://www.drupal.org/docs/7/system-requirements/what-is-pdo
https://www.drupal.org/docs/7/testing
https://www.drupal.org/docs/7/theming
https://www.drupal.org/docs/7/upgrade-to-drupal-7/before-you-begin
https://www.drupal.org/docs/7/security/writing-secure-code/overview
Will get to identifying D8 docs soon.
Comment #6
Anonymous (not verified) commentedRepost from this.
Lists of links with redirect (301 response):
drupal.org(drupal.org.links.txt)docs/7|theme/7|theme_table/7(7.docs.links.txt)Note: this is not ideal list, example:
after redirect lost
?search=test.Comment #7
nonprofit commented@vaplas, this is good. Thanks for your work. I'm willing to help with this issue; is the next best step to identify existing D8 docs?
Comment #8
nonprofit commentedComment #9
nonprofit commentedComment #10
nonprofit commentedAll of the redirects listed in #5 (plus a few more @vaplas found that I missed).
You will find:
Redirect number (as listed in comment #5) - Recommended new link
File(s) containing link(s) / context(s) of link(s)
#1 - (https://api.drupal.org/api/drupal/core%21includes%21pager.inc/function/p...)
drupal-8.2.6/core/modules/views/src/Plugin/views/query/Sql.php:1434: // http://api.drupal.org/api/drupal/includes--pager.inc/function/PagerDefault::execute/7#2 (https://api.drupal.org/api/drupal/core%21includes%21theme.inc/8.2.x)
drupal-8.2.6/core/CHANGELOG.txt:514: http://api.drupal.org/api/function/theme/7 for details.drupal-8.2.6/core/CHANGELOG.txt:517: http://api.drupal.org/api/function/theme/7 for details.#3 (https://api.drupal.org/api/drupal/core%21modules%21user%21user.install/8...)
drupal-8.2.6/core/modules/user/src/Plugin/migrate/source/d6/User.php:59: // @see https://api.drupal.org/api/drupal/modules%21user%21user.install/function/user_update_7002/7drupal-8.2.6/core/modules/user/src/Plugin/migrate/source/d6/User.php:118: // @see https://api.drupal.org/api/drupal/modules%21user%21user.install/function/user_update_7002/7drupal-8.2.6/core/modules/user/src/Plugin/migrate/source/d6/User.php:124: // @see https://api.drupal.org/api/drupal/modules%21user%21user.install/function/user_update_7002/7#4 - Best Practices (Not listed, but seems like it belongs https://www.drupal.org/docs/8)
drupal-8.2.6/core_links.text:5:README.txt: https://www.drupal.org/best-practicesdrupal-8.2.6/README.txt:44: https://www.drupal.org/best-practices#5 - Cron (https://www.drupal.org/docs/8/cron-automated-tasks)
drupal-8.2.6/core/INSTALL.txt:317: https://www.drupal.org/cron, and sample cron shell scripts can be found indrupal-8.2.6/core/lib/Drupal/Core/CronInterface.php:8: * @see https://www.drupal.org/crondrupal-8.2.6/core/lib/Drupal/Core/Extension/module.api.php:961: 'description' => t('Cron has not run. It appears cron jobs have not been setup on your system. Check the help pages for <a href=":url">configuring cron jobs</a>.', array(':url' => 'https://www.drupal.org/cron')),drupal-8.2.6/core/modules/automated_cron/automated_cron.module:47: '#description' => t('More information about setting up scheduled tasks can be found by <a href="@url">reading the cron tutorial on drupal.org</a>.', ['@url' => 'https://www.drupal.org/cron']),drupal-8.2.6/core/modules/system/system.install:495: '#markup' => t('For more information, see the online handbook entry for <a href=":cron-handbook">configuring cron jobs</a>.', [':cron-handbook' => 'https://www.drupal.org/cron']),drupal-8.2.6/core/modules/system/system.module:101: $output .= '<dd>' . t('In order for the site and its modules to continue to operate well, a set of routine administrative operations must run on a regular basis; these operations are known as <em>cron</em> tasks. On the <a href=":cron">Cron page</a>, you can configure cron to run periodically as part of server responses by installing the <em>Automated Cron</em> module, or you can turn this off and trigger cron from an outside process on your web server. You can verify the status of cron tasks by visiting the <a href=":status">Status report page</a>. For more information, see the <a href=":handbook">online documentation for configuring cron jobs</a>.', array(':status' => \Drupal::url('system.status'), ':handbook' => 'https://www.drupal.org/cron', ':cron' => \Drupal::url('system.cron_settings'))) . '</dd>';#6 - Database API (https://www.drupal.org/docs/8/api/database-api)
drupal-8.2.6/core/lib/Drupal/Core/Database/database.api.php:23: * https://www.drupal.org/developing/api/database.drupal-8.2.6/core/lib/Drupal/Core/Database/database.api.php:111: * https://www.drupal.org/developing/api/database for many more details.drupal-8.2.6/core/lib/Drupal/Core/Database/database.api.php:216: * @see https://www.drupal.org/developing/api/databasedrupal-8.2.6/sites/default/default.settings.php:193: * https://www.drupal.org/developing/api/database/configuration for moredrupal-8.2.6/sites/default/settings.php:193: * https://www.drupal.org/developing/api/database/configuration for more#7 - Configuration API (https://www.drupal.org/docs/8/api/configuration-api)
drupal-8.2.6/sites/default/default.settings.php:193: * https://www.drupal.org/developing/api/database/configuration for moredrupal-8.2.6/sites/default/settings.php:193: * https://www.drupal.org/developing/api/database/configuration for more#8 - Developing Distributions (https://www.drupal.org/docs/8/creating-distributions)
drupal-8.2.6/core/core.api.php:1282: * information, see https://www.drupal.org/developing/distributions.drupal-8.2.6/core_links.text:9:README.txt: https://www.drupal.org/developing/distributionsdrupal-8.2.6/README.txt:75: https://www.drupal.org/developing/distributions#9 - Installation Guide (https://www.drupal.org/docs/8/install)
drupal-8.2.6/sites/example.sites.php:34: * @link https://www.drupal.org/documentation/install online Drupal installation guide @endlink#10 - GIT (Not specific D8 documentation, but https://www.drupal.org/documentation/git looks appropriate)
drupal-8.2.6/core/CHANGELOG.txt:89: * See https://www.drupal.org/documentation/install/download#git#11 - Installing Modules & Themes (https://www.drupal.org/docs/8/extending-drupal-8)
drupal-8.2.6/core/lib/Drupal/Core/FileTransfer/Form/FileTransferAuthorizeForm.php:178: ':handbook_url' => 'https://www.drupal.org/documentation/install/modules-themes',#12 - Multisite (https://www.drupal.org/docs/8/multisite-drupal)
drupal-8.2.6/core/INSTALL.txt:421:settings, consult https://www.drupal.org/documentation/install/multi-sitedrupal-8.2.6/sites/example.sites.php:54: * @see https://www.drupal.org/documentation/install/multi-site#13 - Comment module (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules listed as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/comment/comment.module:62: $output .= '<p>' . t('The Comment module allows users to comment on site content, set commenting defaults and permissions, and moderate comments. For more information, see the <a href=":comment">online documentation for the Comment module</a>.', array(':comment' => 'https://www.drupal.org/documentation/modules/comment')) . '</p>';#14 - Contextual links (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules listed as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/contextual/contextual.module:78: $output .= '<p>' . t('The Contextual links module gives users with the <em>Use contextual links</em> permission quick access to tasks associated with certain areas of pages on your site. For example, a menu displayed as a block has links to edit the menu and configure the block. For more information, see the <a href=":contextual">online documentation for the Contextual Links module</a>.', array(':contextual' => 'https://www.drupal.org/documentation/modules/contextual')) . '</p>';#15 - Field UI (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules/fieldlisted as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/field_ui/field_ui.module:25: $output .= '<p>' . t('The Field UI module provides an administrative user interface (UI) for managing and displaying fields. Fields can be attached to most content entity sub-types. Different field types, widgets, and formatters are provided by the modules enabled on your site, and managed by the Field module. For background information and terminology related to fields and entities, see the <a href=":field">Field module help page</a>. For more information about the Field UI, see the <a href=":field_ui_docs">online documentation for the Field UI module</a>.', array(':field' => \Drupal::url('help.page', array('name' => 'field')), ':field_ui_docs' => 'https://www.drupal.org/documentation/modules/field-ui')) . '</p>';#16 - Menu Link (https://www.drupal.org/docs/8/core/modules/menu_link)
drupal-8.2.6/core/modules/menu_link_content/menu_link_content.module:21: $output .= ' ' . t('It is required by the Menu UI module, which provides an interface for managing menus and menu links. For more information, see the <a href=":menu-help">Menu UI module help page</a> and the <a href=":drupal-org-help">online documentation for the Custom Menu Links module</a>.', array(':menu-help' => \Drupal::url('help.page', array('name' => 'menu_ui')), ':drupal-org-help' => 'https://www.drupal.org/documentation/modules/menu_link'));drupal-8.2.6/core/modules/menu_link_content/menu_link_content.module:24: $output .= ' ' . t('For more information, see the <a href=":drupal-org-help">online documentation for the Custom Menu Links module</a>. If you enable the Menu UI module, it provides an interface for managing menus and menu links.', array(':drupal-org-help' => 'https://www.drupal.org/documentation/modules/menu_link'));drupal-8.2.6/core/modules/menu_ui/menu_ui.module:38: $output .= '<p>' . t('The Menu UI module provides an interface for managing menus. A menu is a hierarchical collection of links, which can be within or external to the site, generally used for navigation. For more information, see the <a href=":menu">online documentation for the Menu UI module</a>.', array(':menu' => 'https://www.drupal.org/documentation/modules/menu/')) . '</p>';#17 - Node module (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules listed as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/node/node.module:84: $output .= '<p>' . t('The Node module manages the creation, editing, deletion, settings, and display of the main site content. Content items managed by the Node module are typically displayed as pages on your site, and include a title, some meta-data (author, creation time, content type, etc.), and optional fields containing text or other data (fields are managed by the <a href=":field">Field module</a>). For more information, see the <a href=":node">online documentation for the Node module</a>.', array(':node' => 'https://www.drupal.org/documentation/modules/node', ':field' => \Drupal::url('help.page', array('name' => 'field')))) . '</p>';#18 - Shortcut module (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules listed as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/shortcut/shortcut.module:23: $output .= '<p>' . t('The Shortcut module allows users to create sets of <em>shortcut</em> links to commonly-visited pages of the site. Shortcuts are contained within <em>sets</em>. Each user with <em>Select any shortcut set</em> permission can select a shortcut set created by anyone at the site. For more information, see the <a href=":shortcut">online documentation for the Shortcut module</a>.', array(':shortcut' => 'https://www.drupal.org/documentation/modules/shortcut')) . '</p>';#19 - Testing module (https://www.drupal.org/docs/8/testing)
drupal-8.2.6/core/modules/simpletest/simpletest.module:26: $output .= '<p>' . t('The Testing module provides a framework for running automated tests. It can be used to verify a working state of Drupal before and after any code changes, or as a means for developers to write and execute tests for their modules. For more information, see the <a href=":simpletest">online documentation for the Testing module</a>.', array(':simpletest' => 'https://www.drupal.org/documentation/modules/simpletest')) . '</p>';#20 - Taxonomy module (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules)
drupal-8.2.6/core/modules/taxonomy/taxonomy.module:54: $output .= '<p>' . t('For more information, see the <a href=":taxonomy">online documentation for the Taxonomy module</a>.', array(':taxonomy' => 'https://www.drupal.org/documentation/modules/taxonomy/')) . '</p>';#21 - Toolbar module (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules listed as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/toolbar/toolbar.module:23: $output .= '<p>' . t('The Toolbar module provides a toolbar for site administrators, which displays tabs and trays provided by the Toolbar module itself and other modules. For more information, see the <a href=":toolbar_docs">online documentation for the Toolbar module</a>.', array(':toolbar_docs' => 'https://www.drupal.org/documentation/modules/toolbar')) . '</p>';#22 - Content Translation module (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules listed as needs to be created on /node/2824046.)
drupal-8.2.6/core/modules/content_translation/content_translation.module:26: $output .= '<p>' . t('The Content Translation module allows you to translate content, comments, custom blocks, taxonomy terms, users and other <a href=":field_help" title="Field module help, with background on content entities">content entities</a>. Together with the modules <a href=":language">Language</a>, <a href=":config-trans">Configuration Translation</a>, and <a href=":locale">Interface Translation</a>, it allows you to build multilingual websites. For more information, see the <a href=":translation-entity">online documentation for the Content Translation module</a>.', array(':locale' => (\Drupal::moduleHandler()->moduleExists('locale')) ? \Drupal::url('help.page', array('name' => 'locale')) : '#', ':config-trans' => (\Drupal::moduleHandler()->moduleExists('config_translation')) ? \Drupal::url('help.page', array('name' => 'config_translation')) : '#', ':language' => \Drupal::url('help.page', array('name' => 'language')), ':translation-entity' => 'https://www.drupal.org/documentation/modules/translation', ':field_help' => \Drupal::url('help.page', array('name' => 'field')))) . '</p>';#23 - Multilingual (Not listed, but seems like it belongs https://www.drupal.org/docs/8/core/modules Same as Content translation?)
drupal-8.2.6/core/INSTALL.txt:433:https://www.drupal.org/documentation/multilingual#24 - Theme Documentation (https://www.drupal.org/docs/8/core/themes)
drupal-8.2.6/core/INSTALL.txt:356:completely new theme as described at https://www.drupal.org/documentation/themedrupal-8.2.6/core/lib/Drupal/Core/Render/theme.api.php:226: * - https://www.drupal.org/documentation/themedrupal-8.2.6/core_links.text:11:README.txt: https://www.drupal.org/documentation/themedrupal-8.2.6/README.txt:90: https://www.drupal.org/documentation/theme#25 - Clean URLs (https://www.drupal.org/docs/8/clean-urls-in-drupal-8)
drupal-8.2.6/core/INSTALL.txt:211: https://www.drupal.org/getting-started/clean-urls to troubleshoot.#26 - Installing D8 (https://www.drupal.org/docs/8/install)
drupal-8.2.6/core/lib/Drupal/Core/Installer/Form/SiteSettingsForm.php:191: '#template' => '{% trans %}Resolve all issues below to continue the installation. For help configuring your database server, see the <a href="https://www.drupal.org/getting-started/install">installation handbook</a>, or contact your hosting provider.{% endtrans%}{{ errors }}',drupal-8.2.6/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php:56: $this->assertRaw('Beheben Sie alle Probleme unten, um die Installation fortzusetzen. Informationen zur Konfiguration der Datenbankserver finden Sie in der <a href="https://www.drupal.org/getting-started/install">Installationshandbuch</a>, oder kontaktieren Sie Ihren Hosting-Anbieter.');drupal-8.2.6/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php:147:msgid "Resolve all issues below to continue the installation. For help configuring your database server, see the <a href="https://www.drupal.org/getting-started/install">installation handbook</a>, or contact your hosting provider."drupal-8.2.6/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php:148:msgstr "Beheben Sie alle Probleme unten, um die Installation fortzusetzen. Informationen zur Konfiguration der Datenbankserver finden Sie in der <a href="https://www.drupal.org/getting-started/install">Installationshandbuch</a>, oder kontaktieren Sie Ihren Hosting-Anbieter."#27 - Installing Modules & Themes (Not listed, but seems like it belongs https://www.drupal.org/docs/8/extending-drupal-8)
drupal-8.2.6/core/modules/update/update.manager.inc:102: $form['available_backends']['#markup'] = t('Your server does not support updating modules and themes from this interface. Instead, update modules and themes by uploading the new versions directly to the server, as described in the <a href=":handbook_url">handbook</a>.', array(':handbook_url' => 'https://www.drupal.org/getting-started/install-contrib'));drupal-8.2.6/core/modules/update/update.manager.inc:105: $form['available_backends']['#markup'] = t('Your server does not support installing modules and themes from this interface. Instead, install modules and themes by uploading them directly to the server, as described in the <a href=":handbook_url">handbook</a>.', array(':handbook_url' => 'https://www.drupal.org/getting-started/install-contrib'));drupal-8.2.6/core/modules/update/update.manager.inc:121: ':handbook_url' => 'https://www.drupal.org/getting-started/install-contrib',drupal-8.2.6/core/modules/update/update.manager.inc:131: ':handbook_url' => 'https://www.drupal.org/getting-started/install-contrib',#28 - Testing Framework (https://www.drupal.org/docs/8/testing)
drupal-8.2.6/core/modules/simpletest/simpletest.install:60: $requirements['php_memory_limit']['description'] = t('The testing framework requires the PHP memory limit to be at least %memory_minimum_limit. The current value is %memory_limit. <a href=":url">Follow these steps to continue</a>.', array('%memory_limit' => $memory_limit, '%memory_minimum_limit' => SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT, ':url' => 'https://www.drupal.org/node/207036'));drupal-8.2.6/core/modules/system/system.install:342: $handbook_link = t('For more information, see the online handbook entry for <a href=":memory-limit">increasing the PHP memory limit</a>.', array(':memory-limit' => 'https://www.drupal.org/node/207036'));#29 - Accessible Themes (Not listed, but seems like it belongs https://www.drupal.org/docs/8/theming)
drupal-8.2.6/core/core.api.php:1591: * https://www.drupal.org/node/464472 (themes)#30 - PHP requirements (Not listed, but seems like it belongs https://www.drupal.org/docs/8/system-requirements)
drupal-8.2.6/core/install.php:29: print 'Your PHP installation is too old. Drupal requires at least PHP 5.5.9. See the <a href="https://www.drupal.org/requirements">system requirements</a> page for more information.';drupal-8.2.6/core/INSTALL.txt:34:(https://www.drupal.org/requirements) in the Drupal.org online documentation.drupal-8.2.6/core/modules/system/system.install:221: ':system_requirements' => 'https://www.drupal.org/requirements',drupal-8.2.6/core/modules/system/system.install:270: ':link' => 'https://www.drupal.org/requirements/pdo',drupal-8.2.6/core/modules/system/system.install:279: ':drupal-databases' => 'https://www.drupal.org/requirements/database',drupal-8.2.6/core/modules/system/system.install:287: ':link' => 'https://www.drupal.org/requirements/pdo#pecl',drupal-8.2.6/core/modules/system/system.module:156: return '<p>' . t("Here you can find 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. Before filing a support request, ensure that your web server meets the <a href=\":system-requirements\">system requirements.</a>", array(':system-requirements' => 'https://www.drupal.org/requirements')) . '</p>';#31 - Database requirements (Not listed, but seems like it belongs https://www.drupal.org/docs/8/system-requirements)
drupal-8.2.6/core/modules/system/system.install:279: ':drupal-databases' => 'https://www.drupal.org/requirements/database',#32 - PHP Data Objects requirements (Not listed, but seems like it belongs https://www.drupal.org/docs/8/system-requirements)
drupal-8.2.6/core/modules/system/system.install:270: ':link' => 'https://www.drupal.org/requirements/pdo',#33 - PECL PDO installer (Not listed, but seems like it belongs https://www.drupal.org/docs/8/system-requirements)
drupal-8.2.6/core/modules/system/system.install:287: ':link' => 'https://www.drupal.org/requirements/pdo#pecl',#34 - How to write tests (https://www.drupal.org/docs/8/testing/simpletest-class-file-and-namespac...)
drupal-8.2.6/core/core.api.php:1120: * - https://www.drupal.org/simpletest for full documentation on how to write#35 - Theme Guide (https://www.drupal.org/docs/8/theming)
drupal-8.2.6/core/themes/stark/README.txt:20:see the Theming Guide: https://www.drupal.org/theme-guidedrupal-8.2.6/core/themes/stark/stark.info.yml:3:description: 'An intentionally plain theme with no styling to demonstrate default Drupal’s HTML and CSS. Learn how to build a custom theme from Stark in the <a href="https://www.drupal.org/theme-guide">Theming Guide</a>.'#36 - Backing up DB (Not listed, but seems like it belongs https://www.drupal.org/docs/8/administering-drupal-8-site)
drupal-8.2.6/core/UPDATE.txt:29: https://www.drupal.org/upgrade/backing-up-the-db#37 - Coding standards (Not listed, but seems like it belongs https://www.drupal.org/docs/develop/standards / Not D8 specific)
drupal-8.2.6/core/includes/common.inc:193: * See https://www.drupal.org/writing-secure-code for information/7/ Redirects vaplas found that I missed:
#38 - Curl (Didn’t find link in source)
https://www.drupal.org/requirements/php/curl
https://www.drupal.org/docs/7/system-requirements/php
core/modules/aggregator/aggregator.install, core/modules/simpletest/simpletest.install
#39 - Theme Guide (https://www.drupal.org/docs/8/theming)
http://drupal.org/theme-guide
https://www.drupal.org/docs/7/theming
core/modules/migrate_drupal/tests/fixtures/drupal7.php
#40 - (No D8 function listed on http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table)
drupal-8.2.6/core/modules/field_ui/templates/field-ui-table.html.twig:13: * http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.drupal-8.2.6/core/modules/system/templates/table.html.twig:13: * http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.drupal-8.2.6/core/modules/views/src/Plugin/views/query/Sql.php:1434: // http://api.drupal.org/api/drupal/includes--pager.inc/function/PagerDefault::execute/7drupal-8.2.6/core/themes/classy/templates/dataset/table.html.twig:13: * http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.drupal-8.2.6/core/themes/stable/templates/admin/field-ui-table.html.twig:13: * http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.drupal-8.2.6/core/themes/stable/templates/dataset/table.html.twig:13: * http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.#41 - DrupalCode Release Packager
drupal-8.2.6/core/modules/locale/locale.compare.inc:40: * See http://drupalcode.org/project/drupalorg.git/blob/refs/heads/7.x-3.x:/drupalorg_project/plugins/release_packager/DrupalorgProjectPackageRelease.class.php#l219Does anyone take issue with any of the suggested links? Can missing ones be supplied? Thanks!
Comment #11
nonprofit commentedI've contacted the handbook maintainers of the proposed redirects for their input.
Comment #12
xjmGreat research!
Comment #13
nonprofit commentedHandbook pages have been created for the following missing links:
#13: https://www.drupal.org/docs/8/core/modules/comment-module
#14: https://www.drupal.org/docs/8/core/modules/contextual
#15: https://www.drupal.org/docs/8/core/modules/field-ui-module
#17: https://www.drupal.org/docs/8/core/modules/node-module
#18: https://www.drupal.org/docs/8/core/modules/shortcut-module
#20: https://www.drupal.org/docs/8/core/modules/taxonomy-module
#21: https://www.drupal.org/docs/8/core/modules/toolbar
Comment #14
eojthebraveI changed the URLs of a few of these to remove the trailing -module so that they are consistently hackable URLs and always located at docs/8/core/modules/{module-name}
#13: https://www.drupal.org/docs/8/core/modules/comment
#15: https://www.drupal.org/docs/8/core/modules/field-ui
#17: https://www.drupal.org/docs/8/core/modules/node
#18: https://www.drupal.org/docs/8/core/modules/shortcut
#20: https://www.drupal.org/docs/8/core/modules/taxonomy
Comment #15
eojthebraveGoing through the list that @NonProfit created in #10 here are some of my thoughts.
#4 - Best Practices
This is in the main README.txt, and I think we could potentially just link to the user guide, which covers all of the things listed here https://www.drupal.org/best-practices. It's not as succinct, but I think that's probably okay.
#19 - Testing module
I think that this should be https://www.drupal.org/docs/8/core/modules/testing instead of https://www.drupal.org/docs/8/testing for consistency, and that we should probably move the content of https://www.drupal.org/docs/8/testing
#23 - Multilingual
This could also point to https://www.drupal.org/docs/user_guide/en/multilingual-chapter.html
#24 - Theme Documentation
The old https://www.drupal.org/documentation/theme appears to be used in a few different contexts. And it may be worth linking to more specific pages. However, in general I think https://www.drupal.org/docs/8/theming (which is the theming guide) is probably better than https://www.drupal.org/docs/8/core/themes (which is documentation of the core themes) in this case.
#28 - Current links are to https://www.drupal.org/node/207036, which is all about changing PHP's memory limit. This seems like something we should link to php.net for instead? Does this even need to be documented on drupal.org?
#34 - I think the more generic https://www.drupal.org/docs/8/testing might be a better fit here, that way as more content about writing tests is added you'll see it rather than just a specific page. And, it also links to the PHPUnit guide which is important for D8 tests
#36 - Backing up DB - maybe https://www.drupal.org/docs/user_guide/en/prevent-backups.html would work?
#40 - theme_table() was removed. This should probably be https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21...
Comment #16
siliconmeadow commentedI started looking at the core links bit, due to clicking on the link from the status page. I did the fix locally before searching the queue, so I thought it would be worth making the start. I'll look at working through the other links, as you guys have done so much more work on cataloging where the issues are already.
HTH.
Comment #18
webchickMarking "needs review" to indicate there is a patch here to review.
And holy heck, this is a pretty bad problem. :( No wonder people are saying D8 docs are lacking... ouch!
Comment #19
bowevil commentedUsing AMPPS 4.9.3 on mac. I did a clean install of Drupal 8.4. Installed patch from #16. Patch worked and both files were updated correctly per patch.
Php version test in patch failed when using PHP 5.5 and PHP 5.6. Received a white screen of death.
Did not show the "Your PHP installation is too old..." from patch logic.
PHP version 7 worked fine. I was able to see the new and correct URL on page drupal.8.4/web/admin/reports/status listed in the patch logic.
If you need any clarification just let me know.
Comment #20
eojthebraveSetting to needs work. The patch in #16 only corrects for one of the many URLs listed and I think it would probably be best to tackle these all with a single patch.
Comment #21
eojthebraveComment #22
David_Rothstein commentedWe probably need a separate issue for Drupal 7, but just noting for now that same problem affects Drupal 7 too - due to changes on drupal.org, lots of help text links in Drupal 7 core now go to the Drupal-8-specific version of the page (#2857606: Bad documentation link in admin/config/media/file-system is one example, but there are lots of others also).
Comment #24
hansfn commentedA year has passed without any improvements. I hope that we soon can commit a 95% patch ... Or wait another 2 years for the 100%.
Anyway, if no one is working on this, I'll try to make a big fat patch the fixes most of the links this weekend.
PS! I
didn't taketook the liberty of updating the issue title. If there are strong objections, just revert it.Comment #25
eojthebraveI started poking at this a bit a few months ago, but haven't yet made it back. If it's helpful, I created a spreadsheet https://docs.google.com/spreadsheets/d/1oBEGziXaw1cXMqmwI-0yzNuvJIu5rwXE... of all the URLs in D8 core that have a non 200 HTTP status. My plan was to go through that, compare it to the everything listed in this issue so far, and then use it as a way to track that all the links got fixed. I removed duplication from the list, but here are some URLs that appear multiple times in the code.
I think a great place to start would be all the /documentation/modules/{NAME} URLs that should point to /docs/8/core/modules/{NAME} to ensure that from the Drupal UI we're always pointing to D8 content on drupal.org and not D7 content.
Comment #27
benjifisherI just marked #2830239: Several URLs point to Drupal 7 documentation pages instead of Drupal 8 as RTBC. That issue has the same goal as this one, but is more limited in scope. Because it is more limited in scope, it has a complete patch. This issue seems to be more comprehensive in the comments, but the only patch so far fixes only two links. Still, I can see an argument in favor of abandoning the less comprehensive fix in favor of this issue.
Comment #28
benjifisherI just ran across another link that goes to a D7 documentation page: https://www.drupal.org/node/146843 in core/lib/Drupal/Core/Database/database.api.php.
Comment #29
benjifisherNow that #2830239: Several URLs point to Drupal 7 documentation pages instead of Drupal 8 has been fixed, can we make some progress on this issue?
Comment #30
nonprofit commented@benjifisher, I'm willing to help with this issue.
Comment #31
benjifisher@NonProfit:
I think one person should come up with a plan, a second person should come up with a patch, and the first person should review. Either one can generate a list of links based on the plan.
We can use the script and spreadsheet that @eojthebrave provided in #25. (Anyone with the link can edit the spreadsheet.)
Do you want to be "person one" or "person two"? If you want to discuss on Slack, you can DM me @benjifisher.
Comment #35
kristen polAh, just reviewed this:
#3120222: Change System requirements URLs to new evergreen URLs
before finding this issue. I skimmed some of the more recent comments but last one is from 2018.
Comment #36
kristen polAfter discussing this with @mradcliffe, @catch, and @andrewmacpherson in the bugsmash Slack channel, we thought it might be good to make this a meta issue and then have child issues for specific sections/pages that can be tackled separately rather than having a ginormous patch. Would be good to hear thoughts on this.
Comment #37
kattekrab commentedUllo! I just updated my blog to 9.0.7 without supervision (yay me!) and was poking about to verify all was well.
Stumbled on to the /admin/modules/update page and read
"Your server does not support updating modules and themes from this interface. Instead, update modules and themes by uploading the new versions directly to the server, as documented in Extending Drupal 8."
Given this is now Drupal9, I thought, hmmm, that could do with an update, and was ready to roll up my sleeves and even attempt to write a patch.
Dunno if this is the best / right issue for this or not, or perhaps such tweaks are being tracked elsewhere?
Comment #38
anmolgoyal74 commentedUpdated the links.
Comment #41
quietone commentedI have used the script from #25 and updated the google spread sheet with both .csv files it produces. Looking at that it looks like there are only 17 urls that use "docs/7", 16 of those on the non_200_urls sheet and at least one on the all_urls sheet. If that is really true then this doesn't need to be a meta. Of course, I haven't check all 1516 urls discovered by the script!
I did two of the URLS and updated the spreadsheet to indicated they were changed.
Comment #42
jungleRe #37 opened #3217357: Replace occurrences of outdated text "Extending Drupal 8" and its link
Comment #46
quietone commentedThis came up during a documentation triage meeting with myslef and ambermatz. This needs more attention than we can give during a triage meeting. Therefore, I am assigning to myself to look at later. I am coming up on a busy spell in my life so it could be up to 3 months before I get back here.
Comment #48
quietone commentedI ran the script from #25 and added a new sheet to the spreadsheet.
There are some redirect that go to D7 documentation, so there is still work to do here.
Comment #49
ressa@Kristen Pol:
I agree. I just noticed in Drupal 10 that on the Cron settings page, there is a link which points to this URL:
https://www.drupal.org/docs/8/administering-a-drupal-8-site/cron-automat...
It should link to this generic URL, without version:
https://www.drupal.org/docs/administering-a-drupal-site/cron-automated-t...
Comment #50
quietone commentedComment #51
quietone commentedAll the work in the child issues are complete!
I reran the script and updated the spreadsheet. I searched the sheet and confirmed that there are no links to D7 docs, there are also no 404s, except for valid special cases. So this is really fixed now.
Converting to generic URLs as suggested in #49 can be done in a followup. Although, that is a challenge too since Documentation issues such as #2824046: Plan for URLs for core modules documentation are still open.
Thanks to everyone for completing this work!
Comment #52
quietone commented