Code Monkey home page Code Monkey logo

drops-8's Introduction

CONTENTS OF THIS FILE
---------------------

 * About Drupal
 * Configuration and features
 * Installation profiles
 * Appearance
 * Developing for Drupal
 * More information


ABOUT DRUPAL
------------

Drupal is an open source content management platform supporting a variety of
websites ranging from personal weblogs to large community-driven websites. For
more information, see the Drupal website at https://www.drupal.org, and join
the Drupal community at https://www.drupal.org/community.

Legal information about Drupal:
 * Know your rights when using Drupal:
   See LICENSE.txt in the "core" directory.
 * Learn about the Drupal trademark and logo policy:
   https://www.drupal.com/trademark


CONFIGURATION AND FEATURES
--------------------------

Drupal core (what you get when you download and extract a drupal-x.y.tar.gz or
drupal-x.y.zip file from https://www.drupal.org/project/drupal) has what you
need to get started with your website. It includes several modules (extensions
that add functionality) for common website features, such as managing content,
user accounts, image uploading, and search. Core comes with many options that
allow site-specific configuration. In addition to the core modules, there are
thousands of contributed modules (for functionality not included with Drupal
core) available for download.

More about configuration:
 * Install, update, and maintain Drupal:
   See INSTALL.txt and UPDATE.txt in the "core" directory.
 * Learn about how to use Drupal to create your site:
   https://www.drupal.org/documentation
 * Follow best practices:
   https://www.drupal.org/best-practices
 * Download contributed modules to /modules to extend Drupal's functionality:
   https://www.drupal.org/project/modules
 * See also: "Developing for Drupal" for writing your own modules, below.


INSTALLATION PROFILES
---------------------

Installation profiles define additional steps (such as enabling modules,
defining content types, etc.) that run after the base installation provided
by core when Drupal is first installed. There are two basic installation
profiles provided with Drupal core.

Installation profiles from the Drupal community modify the installation process
to provide a website for a specific use case, such as a CMS for media
publishers, a web-based project tracking tool, or a full-fledged CRM for
non-profit organizations raising money and accepting donations. They can be
distributed as bare installation profiles or as "distributions". Distributions
include Drupal core, the installation profile, and all other required
extensions, such as contributed and custom modules, themes, and third-party
libraries. Bare installation profiles require you to download Drupal Core and
the required extensions separately; place the downloaded profile in the
/profiles directory before you start the installation process.

More about installation profiles and distributions:
 * Read about the difference between installation profiles and distributions:
   https://www.drupal.org/docs/8/distributions/creating-distributions
 * Download contributed installation profiles and distributions:
   https://www.drupal.org/project/distributions
 * Develop your own installation profile or distribution:
   https://www.drupal.org/docs/8/creating-distributions


APPEARANCE
----------

In Drupal, the appearance of your site is set by the theme (themes are
extensions that set fonts, colors, and layout). Drupal core comes with several
themes. More themes are available for download, and you can also create your own
custom theme.

More about themes:
 * Download contributed themes to /themes to modify Drupal's appearance:
   https://www.drupal.org/project/themes
 * Develop your own theme:
   https://www.drupal.org/docs/8/theming


DEVELOPING FOR DRUPAL
---------------------

Drupal contains an extensive API that allows you to add to and modify the
functionality of your site. The API consists of "hooks", which allow modules to
react to system events and customize Drupal's behavior, and functions that
standardize common operations such as database queries and form generation. The
flexible hook architecture means that you should never need to directly modify
the files that come with Drupal core to achieve the functionality you want;
instead, functionality modifications take the form of modules.

When you need new functionality for your Drupal site, search for existing
contributed modules. If you find a module that matches except for a bug or an
additional needed feature, change the module and contribute your improvements
back to the project in the form of a "patch". Create new custom modules only
when nothing existing comes close to what you need.

More about developing:
 * Search for existing contributed modules:
   https://www.drupal.org/project/modules
 * Contribute a patch:
   https://www.drupal.org/patch/submit
 * Develop your own module:
   https://www.drupal.org/developing/modules
 * Follow programming best practices:
   https://www.drupal.org/developing/best-practices
 * Refer to the API documentation:
   https://api.drupal.org/api/drupal/8
 * Learn from documented Drupal API examples:
   https://www.drupal.org/project/examples


MORE INFORMATION
----------------

 * See the Drupal.org online documentation:
   https://www.drupal.org/documentation

 * For a list of security announcements, see the "Security advisories" page at
   https://www.drupal.org/security (available as an RSS feed). This page also
   describes how to subscribe to these announcements via email.

 * For information about the Drupal security process, or to find out how to
   report a potential security issue to the Drupal security team, see the
   "Security team" page at https://www.drupal.org/security-team

 * For information about the wide range of available support options, visit
   https://www.drupal.org and click on Community and Support in the top or
   bottom navigation.

drops-8's People

Contributors

ari-gold avatar dawehner avatar greg-1-anderson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drops-8's Issues

Have Pantheon Allow a *.test File Pattern for D8

It looks like the menu paths for things like a node form mode called "test" is formatted like this:
admin/structure/display-modes/form/manage/node.test

This triggers a 403 error because I'm guessing that the *.test file pattern is forbidden by nginx extension mappings.

Support for Pressflow Smart State

DROPS-7 had support for Pressflow's Smart Start, but Drupal 8 seems to have similar functionality in bootstrap.php.

Do we need to maintain or expand this functionality?

Undefined $drupal_hash_salt When PRESSFLOW_SETTINGS is Present

In cases where the PRESSFLOW_SETTINGS value is present (i.e. Kalabox) and the $drupal_hash_salt value isn't present, there is an error:

Notice: Undefined variable: drupal_hash_salt in /code/sites/default/settings.php

Proposed resolution would be to more firmly wrap the setting of the hash salt value to also require that is actually running on Pantheon which sets that value.

Errors Caused By Running Cron Prior to Installation

This error pops up before install.php is run:

PHP Fatal error: Call to a member function get() on a non-object in /srv/bindings/47a2c7752c4a4093958ddf323893d629/code/core/lib/Drupal.php on line 231

Presumably because we are running cron.php and it can't find the config. From Drupal.php line 231:

public static function config($name) {
return static::$container->get('config.factory')->get($name);
}

"Standard" Module is Not Found. Breaks CM Operations.

There is logic in drupal_get_filename() which tries to see if the "standard" install profile is available. However, when the module list is created the "standard" value doesnt show up so the drupal_get_filename() check fails. This causes an error on the status report page and is part of a larger problem that breaks CM operations with this error:

The configuration cannot be imported because it failed validation for the following reasons:
Unable to install the standard module since it does not exist.

Report Correct Version of Drupal 8

Drupal 7 uses an explicit version value in includes/bootstrap.inc to define what version it reports to the Update Manager.

Drupal 8 takes the "version" value in the first installed Drupal core module which in the standard install profile is Block.

There are a few core issues which may help solve this. https://www.drupal.org/node/2082931 is probably the most likely candidate.

Installation Problem with Configuration Object Loading with D8 Beta 9

Drupal 8 Beta 9 will fail during installation with an error like this:

Drupal\Core\Config\PreExistingConfigException: Configuration objects (system.cron, system.theme) provided by standard already exist in active configuration in Drupal\Core\Config\PreExistingConfigException::create() (line 70 of core/lib/Drupal/Core/Config/PreExistingConfigException.php).

Document or otherwise fix the "Reinstall" instructions.

If you manually go to core/install.php on an installed Drupal 8 site, you will see the following warning message:

Drupal already installed
To start over, you must empty your existing database and 
copy default.settings.php over settings.php.

It is easy to empty your database with terminus site wipe --site=xyzzy --env=dev, and in fact this is all that is necessary to re-install on Pantheon.

Unfortunately, if you copy your default.settings.php over your settings.php as the re-install instructions suggest, then you will delete the necessary include of settings.pantheon.php, which will break your Drupal 8 site.

We do not need to deal with this if we successfully replace settings.pantheon.php with injected variables per #56.

Let's Remove the Git History from Drupal Core in DROPS-8

Why not remove the Drupal core history from DROPS-8? Very few developers, if any, actually access this history on their local site (versus on Drupal.org) and it slows down all sorts of operations since there is a lot of Drupal history.

Allow Drupal 8 to Cleanly Redirect to Install.php For New Sites

There is logic in Drupal 8's _drupal_bootstrap_configuration() which will redirect a user to the install.php file if Drupal is not currently installed. The code looks like this:

if (empty($GLOBALS['databases']) && !drupal_installation_attempted()) {
include_once DIR . '/install.inc';
install_goto('core/install.php');
}

The problem is that we inject $GLOBALS['databases'] for all environments (regardless of if Drupal has been installed) which causes this goto logic to fail.

Diffs in core files between drops-8 and Drupal 8 beta 15

As of f3791f, there are some files in drops-8 that do not exist in Drupal 8 beta 15.

For example,
core/lib/Drupal/Core/ContentNegotiation.php exists in drops-8, but does not exist in beta 15.

Below I checkout beta15 from drupal.org, remove the core directory, replace it with the core directory from drops-8, and see the diffs with a git status.

jim@t5:~/repos/drupal$ git status
HEAD detached at 8.0.0-beta15
nothing to commit, working directory clean
jim@t5:~/repos/drupal$ rm -rf core/
jim@t5:~/repos/drupal$ cp -r ../drops-8/core .
jim@t5:~/repos/drupal$ git status
HEAD detached at 8.0.0-beta15
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   core/core.api.php

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        core/lib/Drupal/Core/ContentNegotiation.php
        core/lib/Drupal/Core/Database/Install/TaskException.php
        core/misc/feed.png
        core/misc/icons/ea2800/
        core/modules/locale/migration_templates/d6_locale_settings.yml
        core/modules/locale/src/Tests/Migrate/d6/
        core/modules/menu_link_content/src/Plugin/migrate/source/d6/
        core/modules/menu_link_content/tests/src/Unit/Plugin/migrate/source/d6/
        core/modules/menu_ui/migration_templates/d6_menu_settings.yml
        core/modules/menu_ui/src/Tests/Migrate/d6/
        core/modules/migrate/config/schema/migrate.load.schema.yml
        core/modules/migrate/src/MigratePassword.php
        core/modules/migrate/src/MigrateServiceProvider.php
        core/modules/migrate/src/Plugin/SourceEntityInterface.php
        core/modules/migrate/src/Plugin/migrate/destination/EntityComment.php
        core/modules/migrate/src/Plugin/migrate/destination/EntityCommentType.php
        core/modules/migrate/src/Plugin/migrate/destination/EntityDateFormat.php
        core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
        core/modules/migrate/src/Plugin/migrate/destination/EntityNodeType.php
        core/modules/migrate/src/Plugin/migrate/destination/EntityUser.php
        core/modules/migrate/src/Plugin/migrate/destination/UserData.php
        core/modules/migrate/src/Tests/EntityFileTest.php
        core/modules/migrate/tests/src/Unit/process/MigrationTest.php
        core/modules/migrate_drupal/migration_templates/
        core/modules/migrate_drupal/src/Entity/
        core/modules/migrate_drupal/src/MigrationStorage.php
        core/modules/migrate_drupal/src/Plugin/CckFieldMigrateSourceInterface.php
        core/modules/migrate_drupal/src/Plugin/MigrateLoadInterface.php
        core/modules/migrate_drupal/src/Plugin/migrate/cckfield/FileField.php
        core/modules/migrate_drupal/src/Plugin/migrate/cckfield/LinkField.php
        core/modules/migrate_drupal/src/Plugin/migrate/cckfield/TextField.php
        core/modules/migrate_drupal/src/Plugin/migrate/load/
        core/modules/migrate_drupal/src/Plugin/migrate/process/
        core/modules/migrate_drupal/src/Plugin/migrate/source/d6/
        core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldRevisionTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableDisplayBase.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableFieldTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableInstanceTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateFileConfigsTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUploadBase.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityFormDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUploadFieldTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUploadInstanceTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUploadTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserConfigsTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityFormDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldInstanceTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileValuesTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserRoleTest.php
        core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
        core/modules/migrate_drupal/tests/src/Unit/MigrationStorageTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentSourceWithHighWaterTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentTestBase.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstancePerViewModeTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstanceTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/FileTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/ProfileFieldTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/RoleTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/TestComment.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/TestNode.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/TestNodeRevision.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/TestTerm.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/UserPictureTest.php
        core/modules/migrate_drupal/tests/src/Unit/source/d6/UserTest.php
        core/modules/search/src/Tests/Migrate/d6/MigrateSearchConfigsTest.php
        core/modules/system/css/system.module.css
        core/modules/system/css/system.theme.css
        core/modules/system/migration_templates/d6_menu.yml
        core/modules/system/src/FileAjaxForm.php
        core/modules/system/src/Plugin/migrate/source/d6/
        core/modules/system/src/Tests/Extension/InfoParserUnitTest.php
        core/modules/system/src/Tests/Extension/ModuleHandlerTest.php
        core/modules/system/src/Tests/Migrate/d6/MigrateMenuTest.php
        core/modules/system/src/Tests/PhpStorage/
        core/modules/system/tests/fixtures/broken.info.txt
        core/modules/system/tests/fixtures/common_test.info.txt
        core/modules/system/tests/fixtures/missing_key.info.txt
        core/modules/system/tests/fixtures/missing_keys.info.txt
        core/modules/system/tests/src/Unit/Migrate/
        core/modules/taxonomy/src/Plugin/migrate/load/
        core/modules/text/migration_templates/d6_text_settings.yml
        core/modules/text/src/Tests/Migrate/d6/
        core/modules/user/src/Tests/Views/UserUnitTestBase.php
        core/modules/views/src/Tests/Handler/FieldUnitTest.php
        core/modules/views/src/Tests/Plugin/DisplayUnitTest.php
        core/modules/views/src/Tests/Plugin/PluginUnitTestBase.php
        core/modules/views/src/Tests/ViewUnitTestBase.php
        core/modules/views/src/Tests/Wizard/WizardPluginBaseUnitTest.php
        core/tests/Drupal/Tests/Core/ContentNegotiationTest.php
        core/tests/Drupal/Tests/Standards/
        core/themes/bartik/css/components/admin.css
        core/themes/bartik/css/components/content.css
        core/themes/bartik/css/components/region-help.css
        core/themes/bartik/css/components/tips.css
        core/themes/bartik/css/components/user.css

no changes added to commit (use "git add" and/or "git commit -a")

Determine the Correct PHP Path for Drupal 8

Similar to #4, there seems to be confusion with the path during Drupal installation. Even with the workaround in #4, users are still directed to a broken URI:

http://dev-drupal-8-alpha-3-vi.gotpantheon.com/core/install.php/

My guess is the root cause is the same with #4, probably something to do with the redirection happening between install_settings_form() and install_profile_modules() during installation.

It wouldn't surprise me if this is some weird interaction with the batch processing, pantheon's php setup, and symphony routing magic.

Configure Private Files By Default

Hi, I've been trying the Pantheon Drupal 8 beta out and attempted to configure the use of Private files.

I've added the following line to settings.pantheon.php
$settings['file_private_path'] = 'sites/default/files/private';

I've created the private folder via SFTP.

The private file system path is recognised on /admin/config/media/file-system, but I cannot select Private as the default download method (the option is not there).

I get the following error message on various pages, but seems to be consistently at /admin/config which seems to be saying the the .htaccess file cannot be created. This is regardless of the permissions on the private folder that I can set via SFTP.

Warning: file_exists(): Unable to find the wrapper "private" - did you forget to enable it when you configured PHP? in file_save_htaccess() (line 363 of core/includes/file.inc).
file_save_htaccess('private://', 1)
file_ensure_htaccess()
system_requirements('runtime')
call_user_func_array('system_requirements', Array)
Drupal\Core\Extension\ModuleHandler->invokeAll('requirements', Array)
Drupal\system\SystemManager->listRequirements()
Drupal\system\SystemManager->checkRequirements()
Drupal\system\Controller\SystemController->overview('system.admin_config')
call_user_func_array(Array, Array)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
call_user_func_array(Object, Array)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1)
Stack\StackedHttpKernel->handle(Object, 1, 1)
Drupal\Core\DrupalKernel->handle(Object)

It would be really good if the private file system worked out of the box as it does on the Pantheon Drupal 7 install.

Drush Does Not Yet Work for D8 + Pantheon

Pantheon is running Drush 5 internally so even if you are running Drush 7 locally, you will get this error if you try to do Drush things to a Drupal 8 site:

Drush 5.10.0 does not support Drupal . Use Drush 4 instead. [error]
Unknown option: --db-url. See drush help core-status for available [error]
options. To suppress this error, add the option --strict=0.

Allow Drupal 8 to Install in Git Mode

Getting this trying to install Drupal 8 with beta10

Warning: file_put_contents(/srv/bindings/c4d5b76556834511adc9eabdd3fc78b7/code/sites/default/settings.php): failed to open stream: Permission denied in drupal_rewrite_settings() (line 319 of core/includes/install.inc).
drupal_rewrite_settings(Array)
install_write_profile(Array)
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)
Exception: Failed to modify <em class="placeholder">sites/default/settings.php</em>. Verify the file permissions. in drupal_rewrite_settings() (line 320 of core/includes/install.inc).
drupal_rewrite_settings(Array)
install_write_profile(Array)
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)

Install stops there

D8 "Clear Caches" Button Doesn't Work

Since the syntax for cache clearing changed from "drush cc all" to "drush cache-rebuild", the Pantheon backend will need to be updated to use the new syntax when the "Clear Caches" button is pushed.

For now, you can still call cache clear from your own command line version of Drush or through the Drupal UI.

Deal with Bug with Session Handling

This issue on Drupal.org (https://drupal.org/node/1858196) may be causing this installation error:

Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: The service definition "field.info" does not exist. in Symfony\Component\DependencyInjection\ContainerBuilder->getDefinition() (line 873 of core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php).

Currently blocking installation of D8 on Pantheon.

Enable CORS via .htacess

I'm trying to configure my pantheon dev to accept CORS Request, Drupal 8 don't accept this by default in core until 8.1 according to Dries https://www.drupal.org/node/1869548#comment-9365043

So I did some changes in .htaccess

# Intercept OPTIONS calls
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule .* / [R=200,L]

and

<IfModule mod_headers.c>
  Header always set Access-Control-Allow-Origin "*"
  Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, PATCH, DELETE"
  Header always set Access-Control-Allow-Headers: Authorization
</IfModule>

These options works in other environments but in Pantheon the changes are not working.

Any suggestions?

Spurious notice on Status Report page

Notice: Undefined index: name in system_requirements() (line 45 of core/modules/system/system.install).
system_requirements('runtime')
call_user_func_array('system_requirements', Array)
Drupal\Core\Extension\ModuleHandler->invokeAll('requirements', Array)
Drupal\system\SystemManager->listRequirements()
Drupal\system\Controller\SystemInfoController->status()

Also happens on the Configuration page, perhaps elsewhere as well.

Does not happen on a stock Drupal-8 site. Does not seem to cause any adverse effects, beyond the appearance of the notice itself.

PluginNotFoundException exception during installation process

Out of 4 install attempts, I've got one success. During installation, sometimes get error:

Additional uncaught exception thrown while handling exception.

Original

Drupal\Component\Plugin\Exception\PluginNotFoundException: The "user_role" entity type does not exist. in Drupal\Core\Entity\EntityManager->getDefinition() (line 199 of /srv/bindings/54fb337c7aed447994968d7f496eb4c8/code/core/lib/Drupal/Core/Entity/EntityManager.php).

Drupal\Core\Entity\EntityManager->getDefinition('user_role')
Drupal\Core\Entity\EntityManager->getController('user_role', 'storage', 'getStorageClass')
Drupal\Core\Entity\EntityManager->getStorage('user_role')
Drupal\Core\Session\UserSession->hasPermission('access administration pages')
Drupal\Core\Session\AccountProxy->hasPermission('access administration pages')
user_template_preprocess_default_variables_alter(Array, NULL, NULL)
Drupal\Core\Extension\ModuleHandler->alter('template_preprocess_default_variables', Array)
_template_preprocess_default_variables()
template_preprocess(Array, 'install_page', Array)
_theme('install_page', Array)
drupal_render(Array)
Drupal\Core\Page\DefaultHtmlPageRenderer::renderPage(Array, 'Choose language', 'install', Array)
install_display_output(Array, Array)
install_drupal()
Additional

Drupal\Component\Plugin\Exception\PluginNotFoundException: The "user_role" entity type does not exist. in Drupal\Core\Entity\EntityManager->getDefinition() (line 199 of /srv/bindings/54fb337c7aed447994968d7f496eb4c8/code/core/lib/Drupal/Core/Entity/EntityManager.php).

Drupal\Core\Entity\EntityManager->getDefinition('user_role')
Drupal\Core\Entity\EntityManager->getController('user_role', 'storage', 'getStorageClass')
Drupal\Core\Entity\EntityManager->getStorage('user_role')
Drupal\Core\Session\UserSession->hasPermission('access administration pages')
Drupal\Core\Session\AccountProxy->hasPermission('access administration pages')
user_template_preprocess_default_variables_alter(Array, NULL, NULL)
Drupal\Core\Extension\ModuleHandler->alter('template_preprocess_default_variables', Array)
_template_preprocess_default_variables()
template_preprocess(Array, 'install_page', Array)
_theme('install_page', Array)
drupal_render(Array)
Drupal\Core\Page\DefaultHtmlPageRenderer::renderPage(Array, 'Error', 'install', Array)
install_display_output(Array, Array)
_drupal_log_error(Array, 1)
_drupal_exception_handler(Object)

On the website it shows up as:

If you have just changed code (for example deployed a new module or moved an existing one) read http://drupal.org/documentation/rebuild

No way to debug PHP syntax errors

It seems like PHP syntax / fatal PHP errors don't show up in any Apache, Nginx, or FPM, logs nor watchdog logs.

I'm trying the Drupal 8 drop on Pantheon, and installed the Prepopulate module (9b5b27b). That module currently has a bug that causes forms that have pre-populated forms to blow up on submit (specifically, node edit forms). The error that PHP actually throws is "Fatal error: [] operator not supported for strings" (https://www.drupal.org/node/2499991), but the only way to find this out was to copy the site locally and use Acquia Dev Desktop.

Nothing in the Pantheon platform was able to provide the error message -- we were just getting a WSOD. We tried turning up the error level, using the Devel module with error handling, etc. This was in the "Dev" environment on Pantheon, too.

I even turned on New Relic support but the errors did not get reported back to New Relic.

Surely there must be a way to get the platform to log these errors somewhere or show them on the page, no?

On Dev Desktop the error showed up on-page immediately, so is it possible that Pantheon has show errors set to FALSE on the server?

Requirements Problem

D8 Installer says:
"The directory sites/default/config is not writable. An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the online handbook."
Any idea?

Cannot import Configuration manager settings

I am trying to import a Configuration Manager tar-ball, but I get this message:

Could not extract the contents of the tar file. The error message is Error while opening {./sites/default/config/block.block.classy_admin.yml} in write binary mode

I have tried both a config tar-ball from your server and one from a local Drupal instance clone and neither work. Also, I’ve successfully imported the config from pantheon server into local.

To reproduce:

  1. Enable Configuration Manager
  2. Go to /admin/config/development/configuration/full/export
  3. “Export” config.tar.gz
  4. Go to /admin/config/development/configuration/full/import
  5. “Choose File” and select the config.tar.gz that was downloaded
  6. Click “Upload”
  7. Get Error message

Ability to Inject Drupal 8 Config Values into Settings.php

Unlike the installation process for Drupal 7, Drupal 8 requires (on behalf of CMI) that the values for the configuration directories be available to settings.php. This is typically written during installation and look like this:

$config_directories['active']['path'] = 'config_1-lRVHZQPcBvES1GZkcB4OMzcH9qHNiqTxhEj706e3U/active';
$config_directories['staging']['path'] = 'config_1-lRVHZQPcBvES1GZkcB4OMzcH9qHNiqTxhEj706e3U/staging';

Since we want to skip this step all together, we will need to figure out how to modify this write/read behavior so that Pantheon can define the $config_directories values in the same way we currently do for the $databases.

I can't get Drush 7 to execure config export.

Seems more like a support thing but this is what I get when I try to use Drush 7 with our D8 install.

xxxxxxxxxxxxxxxxxx#: d7 @C8.dev cex
Drush 5.10.0 does not support Drupal . Use Drush 4 instead.              [error]

Fatal error: Class 'Drupal' not found in /srv/bindings/7f516237c15e4b4ea38f27e9daff4bf5/code/core/includes/bootstrap.inc on line 178
Ok
Drush command terminated abnormally due to an unrecoverable error.       [error]
Error: Class 'Drupal' not found in
/srv/bindings/7f516237c15e4b4ea38f27e9daff4bf5/code/core/includes/bootstrap.inc,
line 178

Problems with POST Operations

There seems to be a problem with POST operations. If you are using the Overlay module you get this error:

Blocked a frame with origin "http://dev-drupal-8-alpha-3-iii.gotpantheon.com" from accessing a frame with origin "null". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "data". Protocols must match.
overlay-parent.js?v=1.0:277
Drupal.overlay.loadChild overlay-parent.js?v=1.0:277
proxy jquery.js?v=2.0.3:731
jQuery.event.dispatch jquery.js?v=2.0.3:4676
elemData.handle

If you are not using Overlay, you get redirected to the internal port:

http://dev-drupal-8-alpha-3-iii.gotpantheon.com:12318/node/4

Likely related to issue #4

Update Method of Passing DB Credentials

-- Define $databases in a cleaner way with checking to see if it is already set
-- Do not use the $$ global variable override. Iterate through known global variables.

Drupal 8 reporting "Out of Memory" (probably re-entrant error handler)

I'm consistently receiving this error. The first time was several months ago. But I'm still seeing it today. I mentioned this in passing in #21 in my most recent update.

Allowed memory size of 268435456 bytes exhausted (tried to allocate 265027628 bytes)core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php:70

Silence configuration security warning

Drupal 8 periodically writes the following warning:

Security warning: Couldn't write .htaccess file. Please create a .htaccess file in your sites/default/files/config/active directory which contains the following lines

(file contents omitted)

Of course, .htaccess is not relevant on Pantheon, and we already have this location blocked in nginx. However, we should get this message out of the "Recent Log Messages", either by adding an .htaccess file there ourselves, or perhaps by removing this configuration location (I think that Drupal 8 recently removed the "active" store).

Cannot re-install Drupal 8

I just created a Drupal 8 beta site (5e178f5e-36bb-4f96-9b29-02bc72598cd8). I added a custom install profile to the repo and am attempting to re-install with that profile. During install I get the following errors:

Warning: file_put_contents(/srv/bindings/dc5d5b0332b24f779b180a2ea275c7db/code/sites/default/settings.php): failed to open stream: Permission denied in drupal_rewrite_settings() (line 318 of core/includes/install.inc).

drupal_rewrite_settings(Array)
install_write_profile(Array)
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)

Exception: Failed to modify <em class="placeholder">sites/default/settings.php</em>. Verify the file permissions. in drupal_rewrite_settings() (line 319 of core/includes/install.inc).

drupal_rewrite_settings(Array)
install_write_profile(Array)
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)

We need to include services.yml from settings.php

default.settings.php contains this example:

/**
 * Load services definition file.
 */
$settings['container_yamls'][] = __DIR__ . '/services.yml';

We need to add this to settings.php or settings.pantheon.php; the question is, which one?

Most sites will probably keep this in the default location. It seems unlikely that Pantheon will ever want to change this value for a customer (further down the road), so I'd guess that it would be more convenient to put it in settings.php.

The distinction is minor, though.

Handle Drupal Hash Salt Considerations

This is currently a problem:

RuntimeException: Missing $settings['hash_salt'] in settings.php. in drupal_get_hash_salt() (line 1514 of core/includes/bootstrap.inc).

Clean up DROPS-8 Settings.php FIle

Before RC we need to make a few cleanups to settings.php:

-- Use $_ENV['PANTHEON_ENVIRONMENT'] as a check for Pantheon
-- Make sure to use proper $drupal_hash_salt value from $_ENV['drupal_hash_salt']
-- Review development.services.yml handling in settings.php
-- Move logic to pantheon.settings.php and include it from settings.php

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.