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

Allow hook_entity_field_access() to grant field-level access to User fields: 'forbidden' -> 'neutral'

$
0
0

Background
In D8 the default access settings are simple: there is a single 'administer users' permission that controls editing other users.

More complex schemes are possible using contrib modules to allow selective editing of other users under certain conditions. An example of such a module is Administer Users by Role. I am the maintainer of this module, trying to port it to D8.

Problem
contrib modules cannot grant field-level access to some fields on the user. For example, in a view of users, the "status" column will not be present except to a user with 'administer users' permission.

  • The code in the contrib module can implement hook_ENTITY_TYPE_access() for entity type "user" which works to allow editing of the user.
  • The code in the contrib module can implement hook_entity_field_access, but this doesn't work because the default code in UserAccessControlHandler has set AccessResult::forbidden().

The documentation here states

Note: Even a single module returning an AccessResultInterface object from hook_node_access() whose isForbidden() method equals TRUE will block access to the node. Therefore, implementers should take care to not deny access unless they really intend to. Unless a module wishes to actively forbid access it should return an AccessResultInterface object whose isAllowed() nor isForbidden() methods return TRUE, to allow other modules or the node_access table to control access.

Solution
UserAccessControlHandler should set AccessResult::neutral. This prevents access by default, but allows other modules to override.

The password field is an exception because it should be forbidden for any user to read it under any circumstances.

Patch coming.


Fully support PHP 7.0 in Drupal 7

$
0
0

Helper issue for #2454439: [META] Support PHP 7 - I want to see if it's possible to get the testbot to test a no-op Drupal 7 patch on PHP 7 to see where we're at with test failures, etc.

[PP-1] Expose TextItems' "processed" property when normalizing

$
0
0

Problem/Motivation

When accessing entities that use a "text" field type (subclasses of \Drupal\text\Plugin\Field\FieldType\TextItemBase), only the raw/original value (user input) is normalized, not the processed text (with filters applied). But it's impossible (and nonsensical) to replicate the logic of filters on the client side. We should just expose TextItemBase's processed property.

Proposed resolution

Added the TextItemNormalizer class that adds the processed value to the TextItem upon normalization.

This approach was thought to be the best one after a discussion with jhodgdon on IRC.

Remaining tasks

Write Change Record to inform people of processed property.

Path alias changes for draft revisions immediately leak into live site

$
0
0

Problem/Motivation

Steps to reproduce:
1. Enable content moderation module and enable default workflow for article content type (at admin/config/workflow/workflows/manage/editorial)
1. Create article with alias /hello
2. Create a new draft of that article with filling in /hello2 as the url alias
3. The article is immediately accessible at /hello2 and not at /hello

Proposed resolution

Probably #2336597: Convert path aliases to full featured entities.

Alternatively validation to stop people changing that value unless it's the default revision as a stopgap?

Remaining tasks

User interface changes

API changes

Data model changes

Migrate Drupal 7 entity translation data to Drupal 8

$
0
0

Is there an upgrade path planed or will users stand in the rain / stuck like in some past i18n upgrades? I'd like to know if there will be an automatic process or if everyone need to develop upgrades on his own.

Incorrect field name is used in views integration for multi-value base fields

$
0
0

Problem/Motivation

From #2543726: [PP-1] Make $term->parent behave like any other entity reference field:

It seems to be a generic problem with views data generated for multi-value based fields. The code is assuming that if it only have one property/column it should just use the field name, which in this case was 'parent' but this field is multi-value, so it has a dedicated table, which means the actual schema column name should be used. I think it's correct to always use this as regular base fields will have the same result as the actual $field_name we were using before. So we basically just remove the $multiple logic. So it kind of worked by chance before, because field names and storage names were always the same. As a side note, configurable fields are not affected as they are handled slightly differently in views_views_data().

Example breakage from the above issue:

- Base field is create with name 'parent', and it's a multi-value field - this means it gets it's own storage table, 'taxonomy_term__parent'
- This table does not have the same format as base fields in the base table, so 'parent' would not be named in a single column 'parent', the actual value field is 'parent_target_id' - similar to any other configurable field
- When the views data is generated, it assumes the field name due to this code:

    $multiple = (count($field_column_mapping) > 1);
    $first = TRUE;
    foreach ($field_column_mapping as $field_column_name => $schema_field_name) {
      $views_field_name = ($multiple) ? $field_name . '__' . $field_column_name : $field_name;
      $table_data[$views_field_name] = $this->mapSingleFieldViewsData($table, $field_name, $field_definition_type, $field_column_name, $field_schema['columns'][$field_column_name]['type'], $first, $field_definition);

      $table_data[$views_field_name]['entity field'] = $field_name;
      $first = FALSE;
    }

So the wrong assumption is that any field that only has one column in the mapping must have the same column name as the field name itself! Which is not a correct assumption. This is only TRUE (and because the storage implementation happens to use the same names) for base fields that share a table.

Another side affect of this, the Views UI contains two handler entries for each of these fields, one working implementation and one broken one, for things like user roles. Only because UserViewsData is explicitly creating the 'roles_target_id' item itself, to basically get around this bug. Some of this data is just wrong, it doesn't work, and it should be be there.

Proposed resolution

Use the schema field name, as it already generates the correct field name. Still use the field name for the 'entity field' value. The tests need to be fixed as they expect the wrong values in some assertions.

Remaining tasks

User interface changes

Some duplicate handlers will be removed in the Views UI listing

API changes

Data model changes

In off-canvas block form hide Title input unless it will be displayed and change label to Block Title

$
0
0

Problem/Motivation

In #2781575: Determine ideal field order and visibility for "quick edit" blocks in off canvas tray and UX meeting it was determined that the "Title" field on the block for is confusing. Often times the block title is not displayed but the user can still change it.

Also "title" is confusing because is it the title of the site(when used on branding block) or the title just for the block.

Proposed resolution

Hide the title field if "Display Title" is not checked.

Change label to "Block Title" and "Display Block Title"

Remaining tasks

Create patch

User interface changes

See "Proposed resolution" above

API changes

None

Data model changes

None

\Drupal\views\Plugin\views\display\EntityReference::render returns the wrong datatype for empty results

$
0
0

Problem/Motivation

When you setup an entity reference using a view as selection plugin but you don't have any valid item in the view, \Drupal\views\Plugin\views\display\EntityReference::render will return an empty string, which is problematic as otherwise its an array.

Proposed resolution

Return an empty array.

Remaining tasks

User interface changes

API changes

Data model changes


Ignore Diff component files in phpcs coding standards

$
0
0

Problem/Motivation

The DiffEngine class is an external library that we use so it shouldn't have to meet our coding standards.

Proposed resolution

Ignore the DiffEngine class in the coding standards checking.

Remaining tasks

Add // @codingStandardsIgnoreFile to DiffEngine.php.

User interface changes

None

API changes

None

Data model changes

None

caption element throws TypeError: Cannot read property 'tagName' of null in Drupal.behaviors.filterFilterHtmlUpdating

$
0
0

I try to add the templates plugin of ckeditor into drupal8 to
achieve this http://knackforge.com/blog/sivaji/leveraging-ckeditor-template-theme-dru...

I created the module and the required files on this location:
git@github.com:baverhey/d8_ckeditor_templates.git

With information of these locations:
http://drupal.stackexchange.com/questions/139075/implementing-ckeditors-...
http://alexcoder.info/en/content/dobavlenie-plagina-ckeditor-v-drupal-8
https://www.youtube.com/watch?feature=player_detailpage&v=h9KV_VRvIG8#t=...
https://github.com/wwalc/moonocolor

There are no errors or any feedback why it is not working.

ckeditor plugin:
Its about the following plugins
http://ckeditor.com/addon/templates

any hints or tips are welcome.

Allow ComplexData in TypedData to specify computed properties that should be exported in normalization and other contexts.

$
0
0

Problem/Motivation

Looking at #2626924: [PP-1] Expose TextItems'"processed" property when normalizing

To accomplish this

  • We are adding 2 computed field properties to TextItemBase.
  • Then we also have to create 2 TextItemNormalizers, one for the Serialization module (default normalization) and one for the HAL module (HAL normalization).
  • Then of course we need the tests for the normalizers.

Then in #2825812: ImageItem normalizer should expose all public image style URLs which has similar problem of exposing extra read-only information to normalization
We accomplish this by:

  • Creating two ImageItemNormalizers , one for Serialization and one for Hal.
  • Then of course we need the tests for the normalizers.
  • But in this case we don't add the computed field properties ImageItem

You could see how this could get complicated very quickly as we find new information related to field items that we want to include in normalization.
This doesn't take into account contrib modules like JSON API that also do normalization. It would need to duplicate these normalizers.

If we want to do it in the manner of processed text above we would need at least 1 computed field property and then 2 normalizers each time(default normalization provided by the serialization module and HAL normalization for the hal module, with tests).

We could do it like the Image Style URLs which does still require 2 new normalizers but not the computed fields. The problem with this is then the adding of the image_styles in the normalization is completely unknown to the Typed Data API.
This makes automatically documenting what is in our REST responses(or JSON API) very difficult.
Indeed combining the Schemata module and OpenAPI you can start get pretty decent documentation for our REST resources. But this relies on converting Typed Data to a schema (e.g. JSON Schema).

But if we continue to add extra information in normalizers that aren't reflected in Typed Data at all, then Schemata or any other way we try to automatically document the schema for our resources will always be incomplete. :(

We can't rely on computed fields alone because \Drupal\jsonapi\Normalizer\FieldItemNormalizer uses \Drupal\serialization\Normalizer\ComplexDataNormalizer::normalize() which has

/** @var \Drupal\Core\TypedData\TypedDataInterface $field */
foreach ($object as $name => $field) {
  $attributes[$name] = $this->serializer->normalize($field, $format, $context);
}

Using foreach with anything that extends \Drupal\Core\Field\FieldItemBase will ultimately call \Drupal\Core\TypedData\Plugin\DataType\Map::getProperties() which doesn't include computed properties.

We could override this in FieldItemNormalizer to normalize all properties both computed and non-computed. But then we run into the problem that we are already using computed fields for things like the entity property in EntityReferenceItem. An we don't know what else contrib might be using for computed properties.

We could required each field type (each \Drupal\Core\Field\FieldItemInterface implementation) to specify which computed items should NOT be normalized but doing that now would be a BC break.

Proposed resolution

So in order to included only the computed fields we want in normalization we need to allow field types to opt in only specific computed fields.

We can do this by adding a new property, $export_computed_properties, to \Drupal\Core\Field\Annotation\FieldType.

This property would default to an empty array so no existing computed fields would be included by default.

Then in \Drupal\serialization\Normalizer\FieldItemNormalizer and \Drupal\serialization\Normalizer\FieldItemNormalizer (and maybe JSON API?) we call a shared ComputedPropertiesNormalizerTrait that will include the computed properties specified in $export_computed_properties for the field type.

Then field types like TextItem and ImageItem can create computed fields and just include that ones that should be included in any kind of export in $export_computed_properties.

This eliminates the need to make 2 new normalizers (not counting JSON API) for every case where we want to add extra information in the normalization.

It also means that since we will be using Typed Data and explicitly defining which computed properties will be in the normalization (or other exports) we easily/automatically document these in auto-generated REST (and JSON API) documentation.

Remaining tasks

Decide if this is good idea!

User interface changes

API changes

Data model changes

Superfluous argument in call to ::formatDate() in DateTimeDefaultFormatter

$
0
0

In DateTimeDefaultFormatter::settingsSummary() there's:
$summary[] = t('Format: @display', array('@display' => $this->formatDate($date, $this->getFormatSettings())));
grepped for "formatDate\(\$[^),]+," and this is the only occurrence.

Alignment of comments in narrow screens

$
0
0

Problem/Motivation

When the comments are large, the comment boxes form long columns in narrow screens.
The space utilization and Alignment of comments in narrow screens needs review.

Admin URL: node/%

Smooshed

Proposed resolution

Not Smooshed

Remaining tasks

Verify that @Cottser's review was addressed.

User interface changes

See #55 for screenshots in LTR and RTL on several viewports.

Cannot set a text format to use a text editor without settings

$
0
0

To reproduce:

1. Define a new Editor plugin that has no settings.
2. Try assign a text format with that filter.

Error:

TypeError: Argument 1 passed to Drupal\editor\Entity\Editor::setSettings() must be of the type array, null given, called in /Users/johndevman/Sites/quill/core/modules/editor/editor.module on line 247 in Drupal\editor\Entity\Editor->setSettings() (line 166 of /Users/johndevman/Sites/quill/core/modules/editor/src/Entity/Editor.php) #0 /Users/johndevman/Sites/quill/core/modules/editor/editor.module(247): Drupal\editor\Entity\Editor->setSettings(NULL) #1 [internal function]: editor_form_filter_admin_format_submit(Array, Object(Drupal\Core\Form\FormState)) #2 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/Form/FormSubmitter.php(111): call_user_func_array('editor_form_fil...', Array) #3 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/Form/FormSubmitter.php(51): Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object(Drupal\Core\Form\FormState)) #4 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/Form/FormBuilder.php(585): Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object(Drupal\Core\Form\FormState)) #5 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/Form/FormBuilder.php(314): Drupal\Core\Form\FormBuilder->processForm('filter_format_e...', Array, Object(Drupal\Core\Form\FormState)) #6 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/Controller/FormController.php(74): Drupal\Core\Form\FormBuilder->buildForm('filter_format_e...', Object(Drupal\Core\Form\FormState)) #7 [internal function]: Drupal\Core\Controller\FormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch)) #8 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array) #9 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/Render/Renderer.php(574): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #10 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #11 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) #12 [internal function]: Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #13 /Users/johndevman/Sites/quill/vendor/symfony/http-kernel/HttpKernel.php(139): call_user_func_array(Object(Closure), Array) #14 /Users/johndevman/Sites/quill/vendor/symfony/http-kernel/HttpKernel.php(62): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #15 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #16 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #17 /Users/johndevman/Sites/quill/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #18 /Users/johndevman/Sites/quill/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #19 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #20 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(50): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #21 /Users/johndevman/Sites/quill/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #22 /Users/johndevman/Sites/quill/core/lib/Drupal/Core/DrupalKernel.php(652): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #23 /Users/johndevman/Sites/quill/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #24 {main}.

PHP 7
Apache 2.4

Image field generates only default language URL when linking to corresponding entity.

$
0
0

What are the steps required to reproduce the bug?

- Add an image field to a content-type
- Choose the option "Link to content" when displaying the image field in a view mode (ex. teaser).
- Enable content translation for that content-type
- Translate the entity in a new language (other than the default one)
- See the entity in the new language in the chosen view mode

What behavior were you expecting?

- The generated link should point to entity in the current language.

What happened instead?

- The generated link will point to the entity in the default language.


Styling of inline radios broken: inappropriate trailing colons (breaks EditorImageDialog)

$
0
0

Problem/Motivation

While working on #2039163: Update CKEditor library to 4.4, I ran into a problem I'd been seeing for weeks: messed up styling in EditorImageDialog's "align" radios. They were no longer displayed on the same line as the "Align" label, and had trailing colons.

So I dug in.

This is a regression caused by #2192419: Use a WCAG-compliant fieldset (fieldgroup) for #type radios/checkboxes. That patch completely changed the HTML structure of '#type' => 'radios', which breaks several selectors. At least the following selectors in system.theme.css are broken:

.form-type-radios .container-inline label:after {
  content: none;
}
.form-type-radios .container-inline .form-type-radio {
  margin: 0 1em;
}

The <legend> also breaks the "general inlineness".

Possibly more selectors are broken than just these.

Proposed resolution

TBD, but it looks like this will be hard, because apparently (some) browsers don't allow a <legend> to be displayed inline: http://stackoverflow.com/questions/5818960/legend-not-displaying-inline.

Remaining tasks

TBD

User interface changes

Fix the regression.

API changes

None.

Comparison

Original

Drupal at commit 577a41d473afcb8276ddb8ead0ba6142199a9697. Try it at simplytest.me: http://simplytest.me/project/drupal/577a41d473afcb8276ddb8ead0ba6142199a....

<div class="container-inline form-item form-type-radios form-item-attributes-data-align"><label for="edit-attributes-data-align">Align</label> <div id="edit-attributes-data-align" class="form-radios container-inline"><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-none" name="attributes[data_align]" value="none" checked="checked"> <label class="option" for="edit-attributes-data-align-none">None</label></div><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-left" name="attributes[data_align]" value="left"> <label class="option" for="edit-attributes-data-align-left">Left</label></div><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-center" name="attributes[data_align]" value="center"> <label class="option" for="edit-attributes-data-align-center">Center</label></div><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-right" name="attributes[data_align]" value="right"> <label class="option" for="edit-attributes-data-align-right">Right</label></div></div></div>

Current

Drupal at commit 48ae9707f43bd36b305f97abd87d21a85c104d67. Introduced in 2c7b99d09c4b1d7811f8ad01584cc75813c259dc. #2192419: Use a WCAG-compliant fieldset (fieldgroup) for #type radios/checkboxes. By trying Drupal at one commit before that one (35c3429c53bdf9f92e575aa12bbefa8997bff96c), you can see that all was well until that very commit.

<fieldset class="container-inline fieldgroup form-composite form-wrapper form-item" id="edit-attributes-data-align"><legend><span class="fieldset-legend">Align</span></legend>  <div class="fieldset-wrapper"><div id="edit-attributes-data-align" class="form-radios container-inline fieldgroup form-composite"><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-none" name="attributes[data-align]" value="none"><label class="option" for="edit-attributes-data-align-none">None</label></div><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-left" name="attributes[data-align]" value="left"><label class="option" for="edit-attributes-data-align-left">Left</label></div><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-center" name="attributes[data-align]" value="center" checked="checked"><label class="option" for="edit-attributes-data-align-center">Center</label></div><div class="form-item form-type-radio form-item-attributes-data-align"><input class="container-inline form-radio" type="radio" id="edit-attributes-data-align-right" name="attributes[data-align]" value="right"><label class="option" for="edit-attributes-data-align-right">Right</label></div></div></div></fieldset>

Remaining tasks

See #61.

Content Moderation should be tested with Media entity

$
0
0

Problem/Motivation

The Media entity class extends EditorialContentEntityBase, which is awesome!!!!!

This means it can be moderated with Content Moderation, but this is not covered by any tests.

Proposed resolution

Test it.

Remaining tasks

User interface changes

API changes

Data model changes

ContentModerationState 'workflow' column empty for all non-default translations.

$
0
0

Problem/Motivation

If I run the multilingual moderation test and look at the database after, I get something like the following:

mysql> select langcode,revision_id,workflow,moderation_state from test89968991content_moderation_state_field_revision ORDER BY langcode;
+----------+-------------+-----------+------------------+
| langcode | revision_id | workflow  | moderation_state |
+----------+-------------+-----------+------------------+
| en       |           1 | editorial | draft            |
| en       |           2 | editorial | draft            |
| en       |           3 | editorial | draft            |
| en       |           4 | editorial | published        |
| en       |           5 | editorial | published        |
| en       |           6 | editorial | published        |
| en       |           7 | editorial | draft            |
| en       |           8 | editorial | draft            |
| fr       |           1 | NULL      | draft            |
| fr       |           2 | NULL      | draft            |
| fr       |           3 | NULL      | published        |
| fr       |           4 | NULL      | published        |
| fr       |           5 | NULL      | draft            |
| fr       |           6 | NULL      | published        |
| fr       |           7 | NULL      | published        |
| fr       |           8 | NULL      | draft            |
+----------+-------------+-----------+------------------+

'workflow' is defined as a translatable field, so when the translation is added, the workflow isn't copied from the source language.

Proposed resolution

Either:

  • Make workflow non translatable (why is it in the first place?)
  • Copy the workflow field from the source translation to the new, when creating the entity.

Remaining tasks

Agree, patch.

User interface changes

API changes

Data model changes

Add wrappers to fix permission checks

$
0
0

Right now Drupal is unusable with filesystem (POSIX) ACLs. It's been broken for years. This was previously #944582: ./sites/default/files directory permission check is incorrect during install AND status report and #1333390: file_prepare_directory() / is_writable() on Linux don't support ACLs which are/were doomed to failure.

Guidelines to reproduce:

  1. build a clean Drupal 8 development environment
  2. In sites/default,
    • chown -R nobody files
    • chmod -R 700 files
    • setfacl -R -m user:apache:rwx files/
    • setfacl -Rd -m user:apache:rwx files/
  3. Install Drupal 8
  4. Add a new Article (uploading an image should fail).

Notes:

  • change apache in step 2. for the username of your httpd server.
  • step 4. needs to be confirmed or an alternative method proposed.
  • last 8.x patch was #4

IGNORE: Testing issue

Viewing all 294415 articles
Browse latest View live