Quantcast
Channel: Issues for Drupal core
Viewing all 296477 articles
Browse latest View live

Promote mcdruid to full D7 maintainer

$
0
0

Problem/Motivation

@mcdruid has been a provisional maintainer of the 7.x branch for approaching a year (commit).

In that time, he's contributed to and overseen 6 releases (7.68 - 7.73) and published and maintained a Roadmap / Release Schedule for D7.

To quote myself (Fabianx):

I'd like mcdruid to be a real committer (no longer provisional) as he does great work and presents patches that are for most cases directly committable and don't need further work. In addition for complex patches he always solicits feedback from me and others.

Therefore I am very happy to propose that mcdruid be made a full core committer.

Proposed resolution

Make @mcdruid a full maintainer of the 7.x branch.

Remaining tasks

Review and commit patch to MAINTAINERS.txt


Support context aware layout plugins

$
0
0

Problem/Motivation

Layout plugins are great, but they don't have the ability to interact with the context API

E.g. a layout plugin might define one set of regions for a given node, but different regions for another node based on some conditions.

Proposed resolution

Add support for context-aware layout plugins

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

JSON:API link keys can collide

$
0
0

Problem/Motivation

If two JSON:API links share the same URL and key, but their metadata differs, the last link overwrites the former link.

Steps to reproduce

TBD

Proposed resolution

Create links object keys that incorporate metadata into the generated link keys.

Remaining tasks

TBD

User interface changes

n/a

API changes

n/a

Data model changes

n/a

Release notes snippet

n/a

The SQLite database driver fails to drop simpletest tables

$
0
0

Problem/Motivation

Drupal creates a new SQLite database file for each simpletest test case but it fails to delete them at the end of the test.

Proposed resolution

Make \Drupal\Core\Database\Schema::findTables() use unprefixed tables as an argument and for the return value.

Remaining tasks

None.

User interface changes

Nope.

API changes

\Drupal\Core\Database\Schema::findTables() works with prefixed tables by default.

Data model changes

Nope.

Repetive 'using' word in DbImportCommand.php

$
0
0

Problem/Motivation

Repetive 'using' word in DbImportCommand.php

There is no active language on a menu edit page.

$
0
0

Problem/Motivation

There is no active language on a menu edit page.

Steps to reproduce

  1. Enable the "Language" module and add a new language to your website;
  2. Put the "Language switcher" block on your administration theme;
  3. Go to any menu edit page: no language link is active

Proposed resolution

The active language should always be highlighted.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Remove unused variable $view in DisplayTest.php, views_ui module, Keep the coding standards.

$
0
0

Problem/Motivation

In core/modules/views_ui/tests/src/Functional/DisplayTest.php, $view variable never used.

W3C Validation: required attribute not allowed on fieldset tag

$
0
0

Problem/Motivation

Required fieldset tags generated for checkbox and radio button fields do not pass https://validator.w3.org/ validation. The following errors and and warnings are produced:

  1. Error: Attribute required not allowed on element fieldset at this point.
  2. Error: Element fieldset is missing required attribute role.
  3. Warning: Attribute aria-required is unnecessary for elements that have attribute required.

Steps to reproduce

  • Go to admin/structure/types/manage/article/fields
  • Click Add field.
  • Choose List (text) from the Add a new field drop down and give the field a label.
  • Save
  • Add several values to the Allowed values list.
  • Save field settings.
  • Check Required Field
  • Save settings.
  • Go to admin/structure/types/manage/article/form-display
  • Change your field from Select list to Check boxes/radio buttons
  • Save
  • Go to node/add/article
  • View Page Source and submit it to validator.w3.org

Proposed resolution

Remove aria=required and required=required from fieldsets using template_preprocess_fieldset() in core.

Remaining tasks

tbd.

User interface changes

none.

API changes

none.

Data model changes

none.

Release notes snippet

tbd.

Additional Notes:


Remove unused variable $charcodes and $node2

$
0
0

Problem/Motivation

Remove unused variables from SearchNodePunctuationTest.php and SearchTokenizerTest.php

FILE: /home/paulocs/AmbienteTeste/Drupal9.0/drupal-dev-oficial/web/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php

 53 | WARNING | Unused variable $node2.

FILE: /home/paulocs/AmbienteTeste/Drupal9.0/drupal-dev-oficial/web/core/modules/search/tests/src/Kernel/SearchTokenizerTest.php

 89 | WARNING | Unused variable $charcodes.
-------------------------------------------------------------------------------------------------------------------------------

Proposed resolution

Figure out when variables weren't used anymore and remove them if necessary.

Update dependencies composer/composer and composer/semver to ^3

$
0
0

Problem/Motivation

Support for Composer 2 was added in #3126566: Allow Drupal to work with Composer 2. However, the test suite still uses composer/composer ^1 internally for testing (via require-dev), as a stable release for the 2.x version of composer/composer and composer/semver (used by drupal/core, and required by Composer 2) are not yet available.

Proposed resolution

Once there is a stable release of composer/composer and composer/semver in the ^2 series, these dependencies should be updated for Drupal.

Also, the following test was conditionally disabled in the test suite when running the tests with the Composer 2 cli. This test installs components from packagist, so there must be a version of drupal/core on packagist that is compatible with Composer 2 before this test can be re-enabled. n.b. tagging a stable release with #3126566: Allow Drupal to work with Composer 2 is sufficient to allow this test to work with the Composer 2 cli; updating the internal composer/semver to 2.0 is not necessary. This step could therefore be done independently of this issue, if desired.

   public function testTemplateCreateProject($project, $package_dir, $docroot_dir) {
+    $composerVersionLine = exec('composer --version');
+    if (strstr($composerVersionLine, 'Composer version 2') !== FALSE) {
+      $this->markTestSkipped('We cannot run the template create project test with Composer 2 until we have a stable version of composer/semver 2.x. The create project test installs drupal/core-recommended and the Drupal Composer plugins from Packagist, so these must also be compatible with Composer 2.x in order for this test to work.');
+    }
+

Remaining tasks

  • Update composer/composer to ^2 in the root composer.json file
  • Update composer/semver to ^2 in the drupal/core composer.json file
  • Re-enable the test in core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php

User interface changes

None

API changes

None

Data model changes

None

Release notes snippet

Drupal core is now using composer/semver version 2 internally.

Deprecate IE conditional comments support

$
0
0

Problem/Motivation

Coming from fixing the CSS Variables po[ln]yfill for IE, i stumbled upon this:

How to reproduce:

* Want to add library CSS/JS browser-conditional like so:

my_library:
  js:
    run-cssvars-polyfill.js:
      browsers: { '!IE': false }

Result:
* CSS/JS is wrapped in a browser-switch comment like this:

<!--[if IE]>
<script src="/modules/contrib/cssvars/polyfill/libraries/css-vars-polyfill.min.js?q16qed"></script>
<![endif]-->

Alas, M$ dropped the conditional script comment tag in 2016 since IE10 (SO). So it seems that the resulting browser switch comments only work up to IE9 (see #2390621: [policy, no patch] Update Drupal's browser support policy on why this is EOL but still supported).

Proposed resolution

* Update docs.

Once we drop IE9,

* Remove the functionality.
* Error out or add warning if developers use it.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Deprecate Drupal\Core\Ajax\AddCssCommand

$
0
0

Problem/Motivation

Drupal\Core\Ajax\AddCssCommand was introduced for IE <= 9, because they didn't support @import statements if they were in a PrependCommand.

Drupal 8 no longer uses @import statements (#2897408: Remove IE9 support from CssCollectionRenderer and provide it in contrib instead), and has now also removed the IE9 support code from AddCssCommand (#3100147: Remove @import parsing from Drupal.AjaxCommands.prototype.add_css), so AddCssCommand no longer offers a benefit and could be deprecated (in 9.1), and removed (in 10.0).

Proposed resolution

- Replace current usage of \Drupal\Core\Ajax\AddCssCommand with PrependCommand

Remaining tasks

- Deprecate AddCssCommand in 9.1.0
- Create issue for removing AddCssCommand from 10.0

User interface changes

None

API changes

Drupal\Core\Ajax\AddCssCommand is deprecated

Data model changes

None

Release notes snippet

Remove unused $admin_user variable in FieldEntityOperationsTest.php, views module

$
0
0

Problem/Motivation

In core/modules/views/tests/src/Functional/Handler/FieldEntityOperationsTest.php, $admin_user variable was unused.

Fix Drupal.Semantics.FunctionTriggerError coding standard

$
0
0

Following from #2908391: Add a rule for expected format of @deprecated and @trigger_error() text we need to fix core to adhere to the two new coding standards.

This issue will fix the @trigger_error() function calls to adhere to standards.
Ideally wait for #3041983: Fix unused imports and update Coder to 8.3.4 so that testing the new sniff will be simpler, but we can use the new coder code by patching it via drupalci - see comment #28. The patch in #28 can be used now to start fixing the standards.

Step 1: Preparation

Open the file core/phpcs.xml.dist and add a line for the sniff of this ticket. The sniff name is in the issue title. Make sure your patch will include the addition of this line.

Step 2: Install & configure PHPCS

Install PHP CodeSniffer and the ruleset from the Coder module:

$ composer install
$ ./vendor/bin/phpcs --config-set installed_paths ../../drupal/coder/coder_sniffer

Once you have installed the phpcs package, you can list all the sniffs available to you like this:

$ ./vendor/bin/phpcs --standard=Drupal -e

This will give you a big list of sniffs, and the Drupal-based ones should be present.

Step 3: Prepare the phpcs.xml file

To speed up the testing you should make a copy of the file phpcs.xml.dist (in the core/ folder) and save it as phpcs.xml. This is the configuration file for PHP CodeSniffer. We only want this phpcs.xml file to specify the sniff we're interested in. So we need to remove all the rule items, and add only our own sniff's rule. Rule items look like this:

<rule ref="Drupal.Semantics.FunctionTriggerError"/>

Remove all of them, and add only the sniff from this issue title. This will make sure that our tests run quickly, and are not going to contain any output from unrelated sniffs.

Step 4: Run the test

Now you are ready to run the test! From within the core/ folder, run the following command to launch the test:

$ cd core/
$ ../vendor/bin/phpcs -p

This takes a couple of minutes. The -p flag shows the progress, so you have a bunch of nice dots to look at while it is running.

Step 5: Fix the failures

When the test is complete it will present you a list of all the files that contain violations of your sniff, and the line numbers where the violations occur.

Fix and improve DateTimePlus documentation

$
0
0

Problem/Motivation

The documentation for DateTimePlus is incomplete. And needs to be improved.

API page: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Component%21Date...

See for instance https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Component%21Date.... The '@see __construct()' is not forming a link.

Proposed resolution

Change the documentation according to https://www.drupal.org/docs/develop/standards/api-documentation-and-comm....

Remaining tasks

Documentation to be written and updated.


Expose Layout Builder data to REST and JSON:API

$
0
0

Problem/Motivation

When accessing Layout Builder overrides via REST (i.e. when accessing an overridden entity's layout field), the contents of sections appear empty.

Proposed resolution

We should add a normalizer for the layout_section DataType, which ensures that sections can be properly serialized and unserialized via the serialization API (and REST).

Remaining tasks

Write a patch, possibly discuss what setting (unserializing) sections looks like via an API like REST.

User interface changes

None.

API changes

A new normalizer will be added for the layout_section DataType.

Data model changes

None.

Replace REQUEST_TIME in non-OO and non-module code

$
0
0

Problem/Motivation

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Deprecate DateTimePlugs::DATE_RFC7231 constant

$
0
0

Problem/Motivation

A happy follow up to #1918820: HTTP header date formats. Some time after that I realized php still hadn't added this constant and I opened up this issue with php https://bugs.php.net/bug.php?id=74080 and it was pretty quickly fixed and made it into the 7.0.19 and 7.1.5 releases!

Now that Drupal 9 requires modern versions of PHP (>=7.3) this constant is no longer required. Yay! One more tiny backwards compatibility fix we can deprecate and remove!

Steps to reproduce

https://www.php.net/manual/en/class.datetimeinterface.php#datetime.const...

Proposed resolution

Deprecate and remove in 10.

Remaining tasks

User interface changes

n/a

API changes

deprecation.

Data model changes

n/a

Release notes snippet

Status Report Page Update

$
0
0

Current Issue:

The current design of the status page does not reflect recently updated Claro designs. Most importantly noting the change from tan/yellow to grey backgrounds. There are also issues with inconsistent iconography in the table layouts, browser support of defaults for some icon behavior, and the responsive nature of the table layouts in general.

The current design that we are to build upon has been uploaded as a screen shot for reference.

Proposed Solution:

Status Page needs to reflect the new design considerations of Claro. The page will be broken up into a variety of components that we will pull from other final components designed in Figma here.

This layout will also require the design of new components. The page is currently comprised of the following components (some have already been redesigned and some can pull from redesigned elements):

  • Page Title
  • Breadcrumbs
  • Page Description
  • Quick-Look Report Card
  • General System Information
  • Errors List
  • Warnings List
  • Checked List

Remaining tasks

  • Finalize design
  • Style page
  • Test for Accessibility conformance

Include bootstrap.inc using composer

$
0
0

Problem/Motivation

Functions like t() are not bad and working around the availability for unit tests is a pain. We can include bootstrap.inc using composer and then tests etc will work without having to fake t().

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Viewing all 296477 articles
Browse latest View live