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

Refactor the alias manager according to msonnabaum session


Remove deprecated drupal_explode_tags() and drupal_implode_tags()

document queue worker callback

$
0
0

This is a fairly simple callback, but it does have the ability to throw exceptions. There's also a patch for 8.x to have it through different classes of exception, which will add complexity. Hence worth documenting. Patch coming!

queue cron workers can't signal a broken queue

$
0
0

Consider this code from drupal_cron_run:

foreach ($queues as $queue_name => $info) {
  $function = $info['worker callback'];
  $end = time() + (isset($info['time']) ? $info['time'] : 15);
  $queue = DrupalQueue::get($queue_name);
  while (time() < $end && ($item = $queue->claimItem())) {
    $function($item->data);
    $queue->deleteItem($item);
  }
}

Note that the return value of the 'worker callback' function is never checked. It could (and should) be used to indicate whether or not to delete the item from the queue (see the subsequent line).

Consider a business rule that requires that only certain items in the queue should be processed now. As a concrete example, let's say that the item has a 'send_date' and the 'worker callback' checks this date before sending an email. If the function could return FALSE to indicate not to delete the item and TRUE to indicate that the item should be deleted, then a whole host of issues could be avoided. As it is, the 'worker callback' function has to re-queue the item, but this then results in an infinite loop.

Add a Drupal Yaml wrapper so we can default to PECL Yaml component if it is available

$
0
0

Updated: Comment #69

Problem/Motivation

We should be defaulting to the PECL Yaml component if it is available as opposed to Symfony's. We had originally talked about this way back in the beginning but it had been forgotten about.

Proposed resolution

Add a YAML class that decides whether to use the extension or Symfony. There's no point in using plugins and plugins are too heavy for this -- it's not extensible.

API changes

Config save no longer throws exceptions if the config object contains an object or resource. While we could make Symfony do this, yaml_emity() doesn't do this so we can't make this a requirement.

Obsolete docs in WebTestBase::drupalPlaceBlock()?

$
0
0

API page: https://api.drupal.org/api/drupal/core%21modules%21simpletest%21lib%21Dr...

Enter a descriptive title (above) relating to protected function WebTestBase::drupalPlaceBlock, then describe the problem you have found:

There's some documentation in WebTestBase::drupalPlaceBlock() that says:

Note: Until this can be done programmatically, the active user account must have permission to administer blocks.

But it looks to me as though the code is programmatic and would not require this any more. Should this be removed?

For the moment, moving to simplest component for decision; afterwards you can move to "documentation" component and mark "Novice" for the actual patch if it is OK to remove this documentation.

Find a new OO home for drupal_get_hash_salt()

$
0
0

Updated: Comment #N

Problem/Motivation

We still have (and would like to convert) usages of drupal_get_hash_salt() in our OO code. This is not ideal, as tests have to do the if(!function_exists('ffdfdf')) hack etc.. We cannot just use the setting directly as we need to keep the logic that throws an exception if it is empty.

Proposed resolution

Find a new home for this. We could just check for this when we get the hash_salt setting. I think it makes more sense to just have this living somewhere though.

Remaining tasks

Find a place, patch. Convert remaining usages.

User interface changes

None

API changes

Hopefully no more drupal_get_hash_salt(), just the new thing.

Node form ignores content type setting for revisions

$
0
0

OS: Linux Mint
Server: Nginx 1.2.6
PHP: 5.4.9
Drupal Ver: D8-Dev and D8-alpha9
Path: node/add/*

I just noticed on a fresh Standard installation that the node edit form ignores the content type setting for revisions. Based on previous versions of Drupal, if revisions are not enabled by default on the content type settings page then users must enable revisions on the node edit form. This appears not the case with D8-dev and D8-alpha9, the two version I tested.

1. Install a fresh copy of D8-dev or D8-alpha9
2. Check content type settings and ensure revisions are disabled (should by default).
3. Create a node; create a new revision is checked by default even though revisions are disabled.


Clean up test results page

Add a search/input group component

add test for simpletest rerun test button

"Re-run tests" form action broken

Identify pieces of Drupal that could be replaced by Symfony code

$
0
0

Given that Symfony is going to be used to provide Drupal 8's HTTP library, it would be worth looking to see what other functionality could be replaced by Symfony. As a follow-on ticket, it might also then be useful to identify a path to completely immerse Symfony in Drupal, for those who want even more.

List of related issues

Please help keep this list up-to-date, and please tag all related issues with 'symfony' to help track them:

Convert COMMENT_HIDDEN & COMMENT_CLOSED & COMMENT_OPEN to a constant on the comment field interface

$
0
0

This constants are used by comment field to indicate the visibility/commentability of the attached field.

We should move this constants to separate class to make unit-testing easy.

Primary button's border is not visible on focus

$
0
0

Seven's primary button focus styling sets a border colour that is really similar to the background gradient. It looks like there is no border at all.

The offending CSS is on line 83 of buttons.theme.css:

.button--primary:focus {
  border-color: #0087db;
}

Convert menu links to the new Entity Field API

$
0
0

Follow-up to #916388: Convert menu links into entities.

Problem/Motivation

We now have a menu link entity but there's still quite some work to do in order to implement proper multilingual support.

Proposed resolution

Let's convert the menu link entity to the new Entity Field API as implemented in #1696640: Implement API to unify entity properties and fields. localized_title and localized_options need to die as a result of this conversion.

Remaining tasks

See above.

User interface changes

None.

API changes

A lot! TBD.

Tour tab increases the height of the toolbar.

$
0
0

It looks like there is some specific styling on the tour tab in the toolbar that's increasing the height of the toolbar. Ideally there shouldn't be any unique styling, most of the tabs look the same.

Implement built-in support for internal URLs

$
0
0

The contrib link modules Link, URL Field, and CKEditor Link support both internal and external URLs and I get that a lot of people use the module for internal links. Right now the storage for the core link field data supports both, but the default widget only support external URLs.

Current summary from #1778858: Decide on built-in support for internal URLs which was filed against the URL module issue queue:

Plan A:

  • Decide we only want to support external URLs in the widget and change nothing. Leave internal URL widget for contrib.
  • Pros: Lowest complexity
  • Cons: Users may find out-of-the-box solution limiting.

Plan B:

  • Rename the current widget from 'URL field' to 'External URL field' and add a new 'Internal URL field' widget.
  • Pros: we support both, not too much extra code
  • Cons: this makes a specific instance only able to use one or the other and not mix.

Plan C:

  • Add an option on the field instance to have the administrator say if this field supports internal only, external only, or both. The default widget will change it's validation based on the options.
  • Pros: Able to mix/match. Seems better as a field instance setting, not a widget setting.
  • Cons: Most amount of complexity to add. Widget will not be able to support HTML5 'url' FAPI type if option is not 'external only' since the url field by nature only supports external fields.

Plan D:

  • Always use the FAPI 'url' type, and attempt to resolve what are 'local' URLs to un-aliased internal Drupal URLs.
  • Pros: Simplicity. We are able to handle both types with the same widget and use the new HTML5 FAPI type always.
  • Cons: Medium complexity.
  • How does this work for sites that have multiple domains (multisite or domain access) or SSL? Would we still want to add additional logic for 'Allow the following types of URLs: [X] Internal [X] External'?

after my interdiff changes
./vendor/bin/phpunit --strict
OK (4561 tests, 8093 assertions)

Remove persisted services

$
0
0

Persisted services are causing lots of problems since if any other service is injected into a persisted service it has to be persisted to - however nothing mandates this.

Replace watchdog icons with Libricons

Viewing all 295572 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>