Difference between revisions of "Drupal"
From Wasya Wiki
(→Install & Configure) |
(→Setting up dev environment) |
||
Line 91: | Line 91: | ||
== Setting up dev environment == | == Setting up dev environment == | ||
− | |||
− | |||
* From: https://github.com/composer/composer/issues/9393 | * From: https://github.com/composer/composer/issues/9393 | ||
Line 98: | Line 96: | ||
* probably not useful: https://www.drupal.org/docs/develop/automated-testing/phpunit-in-drupal/creating-functional-tests-simulated-browser | * probably not useful: https://www.drupal.org/docs/develop/automated-testing/phpunit-in-drupal/creating-functional-tests-simulated-browser | ||
− | composer require --dev | + | |
+ | composer require --dev --no-update symfony/filesystem:4.4.42 | ||
composer require --dev behat/mink jcalderonzumba/mink-phantomjs-driver | composer require --dev behat/mink jcalderonzumba/mink-phantomjs-driver | ||
composer require --dev drupal/core-dev:9.5.11 --with-all-dependencies | composer require --dev drupal/core-dev:9.5.11 --with-all-dependencies | ||
− | |||
composer update -W | composer update -W | ||
composer update symfony/filesystem:4.4.42 drush/drush -W | composer update symfony/filesystem:4.4.42 drush/drush -W | ||
Line 107: | Line 105: | ||
composer require --dev phpspec/prophecy-phpunit:^2 | composer require --dev phpspec/prophecy-phpunit:^2 | ||
+ | Not useful: | ||
+ | composer require 'drupal/examples:^4.0' | ||
== Configure Apache == | == Configure Apache == |
Revision as of 18:52, 19 September 2025
- A great book: https://drupalatyourfingertips.com
- How to clear cache: /devel/cache/clear
Contents
Install & Configure
composer create-project drupal/recommended-project:9.5.10 html
composer require 'drupal/devel:^5.1' composer require 'drupal/s3fs:^3.3' # composer require 'wasya-co/consent_popup: 1.0.4.x-dev' composer require 'drupal/consent_popup:^1.0' composer require 'drush/drush:^11.6' composer require 'drupal/metatag:^2.0' composer require 'drupal/redirect:^1.9' composer require 'drupal/superfish:^1.6' composer require 'drupal/webform:^6.0' composer require 'drupal/captcha:^1.14' composer require 'drupal/typed_data:^1.0@alpha' composer require 'drupal/rules:^3.0@alpha' composer require 'drupal/smtp:^1.2' composer require 'drupal/hal:^1.0' composer require 'drupal/restui:^1.21' composer require 'drupal/keycloak:^2.2@beta' composer require 'drupal/nodeaccess:^2.0@alpha' composer require 'drupal/backup_migrate:^5.0' composer require 'drupal/email_registration:^2.0@RC' composer require 'drupal/content_access:^2.0' composer require 'drupal/social_media:^2.0' composer require 'drupal/wordpress_migrate:^3.0@alpha' composer require 'drupal/migrate_tools:^6.0' composer require 'drupal/codefilter:^2.0' composer require 'drupal/views_taxonomy_term_name_depth:^7.2' composer require 'drupal/pathauto:^1.12' composer require 'drupal/metatag:^2.0' composer require 'drupal/twig_tweak:^3.3' composer require 'drupal/simplenews:^4.0' # composer require 'drupal/migrate_plus:^6.0' ## didn't need it the second time composer require 'drupal/ctools:^4.0' composer require 'drupal/commerce:^2.40' composer require drupal/inline_entity_form @RC --no-update apt install php-bcmath php8.1-bcmath composer require 'drupal/commerce_stripe:^1.1' composer require 'drupal/linkit:^6.0' composer require 'drupal/redirect_after_login:^3.0' composer require 'drupal/symfony_mailer:^1.4' composer require 'drupal/custom_search:^1.0@beta' composer require 'drupal/fullcalendar_view:^5.2' composer require 'drupal/date_recur:^3.3@RC' composer require 'drupal/date_recur_modular:^3.1' composer require 'drupal/colorbox:2.0.2' composer require 'drupal/tagclouds:^2.0' composer require 'drupal/filelog:^3.0' composer require 'drupal/message:^1.6' composer require 'drupal/flag:^4.0@beta' composer require 'drupal/message_subscribe:^1.4' composer require 'drupal/message_digest:^1.5' composer require 'drupal/message_ui:^1.3' composer require 'drupal/layout_builder_usage_reports:^1.0' composer require 'drupal/views_tree:^2.0@RC' composer require 'drupal/vote_up_down:^1.0@alpha' composer require 'drupal/formblock:^2.0@beta' composer require 'drupal/views_pdf:^3.0@alpha' composer require 'drupal/field_permissions:^1.4' composer require 'drupal/scheduler:^2.2' composer require 'drupal/simplenews_scheduler:^4.0@alpha' composer require 'drupal/insert_view:^2.1' composer require drush/drush composer require 'drupal/keycloak:^1.8' composer require 'drupal/simple_oauth:^5.2' composer require 'drupal/group:^1.6' composer require 'drupal/group_join_link:^1.0' composer require 'drupal/social_auth:^4.1' composer require 'drupal/social_auth_google:^4.0' composer require 'drupal/commerce_recurring:^1.0@RC'
evaluating
composer require 'drupal/seo_checklist:^5.2' composer require 'drupal/yoast_seo:^1.9' composer require 'drupal/tvi:^2.0' ## From: https://www.drupal.org/project/tvi composer require 'drupal/advanced_text_formatter:^3.0@RC' composer require 'drupal/token_filter:^2.1' composer require 'drupal/form_mode_control:^2.4' composer require 'drupal/queue_mail:^1.7' composer require 'drupal/googlelogin-googlelogin:^9.5'
not using
# composer require 'drupal/oauth_login_oauth2:^3.0'## not free! very limited.
Setting up dev environment
- From: https://github.com/composer/composer/issues/9393
- From: https://www.drupal.org/docs/develop/automated-testing
- probably not useful: https://www.drupal.org/docs/develop/automated-testing/phpunit-in-drupal/creating-functional-tests-simulated-browser
composer require --dev --no-update symfony/filesystem:4.4.42 composer require --dev behat/mink jcalderonzumba/mink-phantomjs-driver composer require --dev drupal/core-dev:9.5.11 --with-all-dependencies composer update -W composer update symfony/filesystem:4.4.42 drush/drush -W composer require --dev drupal/core-dev -W composer require --dev phpspec/prophecy-phpunit:^2
Not useful:
composer require 'drupal/examples:^4.0'
Configure Apache
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
Configure s3fs
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement0", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": [ "arn:aws:s3:::<ze bucket>" ] }, { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::<ze bucket>/*" ] } ] }
Disable caching
From: https://www.drupal.org/docs/develop/development-tools/disable-caching
- Add the settings.local.php and
- Modify development.services.yml:
parameters: http.response.debug_cacheability_headers: true twig.config: debug: true auto_reload: true cache: false services: cache.backend.null: class: Drupal\Core\Cache\NullBackendFactory
ReST
curl --include \ --request POST \ --user admin:<> \ --header 'Content-type: application/hal+json' \ http://pi.local/node?_format=hal_json \ --data-binary '{ "_links": { "type":{"href":"http://pi.local/rest/type/node/article"} }, "title":[{"value":"Node +++ 123 bac +++" }], "body":[{"value": "<b>hello, wor</b>ld!", "format": "full_html" }], "type":[{"target_id":"article"}], "status": [{"value": 1}], "_embedded": { "http://pi.local/rest/relation/node/article/field_issue": [ { "uuid": [{ "value": "56229a95-d675-43e1-99b1-f9e11b5579c5" }] } ], "http://pi.local/rest/relation/node/article/field_tags": [ { "uuid": [{ "value": "45646a7d-1a16-42e8-b758-f6e1c8d976f7" }] }, { "uuid": [{ "value": "834e34e2-05ae-498d-b876-453798872ce1" }] } ] } }'
Default Attachments
txt pdf doc docx html csv xlsx xlsm sh json svg cer pem pub key kdbx png jpg jpeg gif mkv sfv avi mp3 mp4 webm mov zip tar gz
Testing
From: https://www.drupal.org/docs/develop/automated-testing/phpunit-in-drupal/running-phpunit-tests
export PATH="$PATH:/var/www/html/vendor/bin"
DO NOT RUN THIS IN PRODUCTION!
composer require --dev phpunit/phpunit composer require --dev phpunit/phpunit:^9.5 --with-all-dependencies composer require --dev drupal/core-dev composer require --dev behat/mink:1.8.0 --with-all-dependencies composer require --dev symfony/phpunit-bridge composer require --dev phpspec/prophecy-phpunit composer require --dev behat/mink-browserkit-driver composer require --dev drupal/core-dev composer require --dev drupal/core-dev --update-with-all-dependencies
phpunit --testsuite unit --filter CurrentUserBlock ../vendor/bin/phpunit -c ../phpunit.xml modules/ish_drupal_module/tests/src/Functional/CurrentUserBlockTest.php ../vendor/bin/phpunit -c ../phpunit.xml modules/ish_drupal_module/tests/src/Functional/CurrentUserBlockTest.php -v --debug