[[PageOutline]] = In MayFirst Wiki = * [wiki:faq/drupal/update-module] = On drupal.org Website = * [https://www.drupal.org/core/release-cycle-overview Drupal core release cycle: major, minor, and patch releases] = Some Drush commands = * drush -v help * drush -v status * drush -v core-status * drush -v status-report * drush -v elysia-cron * drush -v core-cron * drush -v pm-refresh * drush -v rf * drush -v pm-download * drush -v dl * drush -v pm-updatecode * drush -v upc * drush -v pm-update * drush -v up * drush -v pm-list * drush -v pml * drush --status=enabled pm-list * drush pm-info * drush pm-enable * drush pm-disable * drush -v updatedb * drush -v updb * drush libraries-list * drush -v l10n-update-status * drush -v cache-clear * drush -v bam-sources * use --uri="http://example.org" then sending mail for simplenews https://www.drupal.org/node/1776536 * nice... = Drupal installation profile (minimal or standard) = * [https://www.drupal.org/node/1127786 Built-in Installation Profiles (Drupal 7)] * https://github.com/drupal-composer/drupal-core/tree/8.0.x/profiles * http://cgit.drupalcode.org/drupal/tree/profiles/minimal?h=7.x (does not allow to see files) = Installing Drupal 7 or 8 with [https://en.wikipedia.org/wiki/Composer_(software) Composer] (on a development server outside MayFirst) = {{{#!sh $ composer create-project "drupal-composer/drupal-project" }}} * [https://www.drupal.org/node/2471553 Composer in relation to Drush Make] * https://github.com/drupal-composer/drupal-project/tree/8.x * https://packagist.org/packages/drupal-composer/drupal-project * https://packagist.org/packages/drupal/core * [https://github.com/derhasi/composer-preserve-paths Composer preserve paths] * https://packagist.org/packages/theodo/drupal8-bundle == Drupal 7 specificities of Composer install === Inactivate Drush download * Inspired by "drupal-composer/drupal-project" for Drupal 8 * Install Drush policy * https://github.com/drupal-composer/drupal-project/blob/8.x/drush/policy.drush.inc * https://github.com/drush-ops/drush/blob/8.x/examples/policy.drush.inc * Needs a recent version of Drush, 5.10, the one on Debian 8 Jessie is too old and the package is orphaned 2016-05-10 https://packages.qa.debian.org/d/drush.html {{{#!sh $ drush cache-clear drush 0 $ drush up This codebase is assembled with Composer instead of Drush. Use `composer update` and `composer [error] require` instead of `drush pm-updatecode` and `drush pm-download`. You may override this error by using the --pm-force option. 1 $ }}} = Using symlinks to avoid duplication of code and save server memory = * locally clone repositories using git (see below: {{{git}}} for Drupal) * composer version inference from git repositories is not reliable today with Composer version 1.0.0-beta2 2016-03-27 * https://getcomposer.org/doc/05-repositories.md#path * https://discuss.flarum.org/d/1608-extension-development-using-composer-repositories-path It looks like {{{*}}} is accepted... {{{#!json { #... "repositories": [ { "type": "path", "url": "workbench/*/" } ], #... } }}} * spot larger libraries (and the one used more often) {{{#!sh .../vendor$ du */* -sch | sort -h }}} {{{#!sh .../vendor$ du */* -sc | sort -n }}} * https://getcomposer.org/doc/articles/troubleshooting.md * http://fr.slideshare.net/fabrice.bernhard/integrating-drupal-8-into-symfony-2 * = Installing Drupal 7 or 8 with Drush (on a development server outside MayFirst) = * [https://github.com/drush-ops/drush Drush] {{{#!sh $ drush help site-install $ drush dl drupal-7 $ cd drupal-7.43/ $ drush site-install minimal --db-url=sqlite://sites/default/files/.ht.sqlite $ drush site-install standard --locale=fr # worked after using the web interface to configure the database. $ drush site-install standard --locale=fr --db-url="pgsql:/host=/var/run/postgresql" # worked note the "/"!(?) $ drush rs $ drush site-install minimal --db-url="pgsql:host=/var/run/postgresql;dbname=infolettre-alici-webadmin;user=infolettre-alici-webadmin" # reade "ost" instead of "host" }}} * Not sure if an ; at the end of PostgreSQL db-url changes something... * Try more than once! * It may be easier with web interface. * Considere drush site-install after a web install and database reinitialization. * Installation with --local may take considerably more time (d7, d8) = {{{git}}} for Drupal = {{{#!sh $ git ls-remote --tags | sort --key=2 --version-sort | less $ git clone --branch }}} * branch may evolve (devel) like 8.0.x * tag are frozen, like stable releases as in 8.0.5 * directory may be {{{.../share/url//}}} , {{{.../share/vendor///}}} or {{{.../share/latest/...}}} . {{{#!sh .../share/url$ git clone --branch 8.0.5 "https://git.drupal.org/project/drupal.git" git.drupal.org/project/drupal/8.0.5 .../share/url$ cd git.drupal.org/project/drupal/8.0.5 ; git branch -v * (aucune branche) d918ae1 Drupal 8.0.5 }}} {{{#!sh $ git ls-remote --tags https://github.com/drupal-composer/drupal-core | sort --key=2 --version-sort | less .../share/url$ git clone --branch 8.0.5 "https://github.com/drupal-composer/drupal-core" github.com/drupal-composer/drupal-core/8.0.5 .../share/url$ cd github.com/drupal-composer/drupal-core/8.0.5 ; git branch -v * (aucune branche) da4c151 Drupal 8.0.5 }}} * https://www.drupal.org/project/drupal/git-instructions * [https://www.drupal.org/node/1066342 Creating a branch or tag in Git] * https://www.drupal.org/project/git_deploy * [https://www.drupal.org/node/1314752 Versioned dependencies and Git] * [https://git-scm.com/book/tr/v2/Git-Internals-Git-References 10.3 Git Internals - Git References] = Drupal 8 requirements and particularities = * https://www.drupal.org/docs/7/system-requirements/overview * https://www.drupal.org/docs/7/system-requirements/php * https://api.drupal.org/api/drupal/core!INSTALL.txt/8.2.x * admin/config/development/performance cache time needs to be as big as possible for the site time response to be good! * Big Pipes inspired by FaceBook now in core (but experimental in Drupal 8.1) * Drupal 8.0.5 needs Postgresql >= 9.1.2 instead of 8.4.20 #11587, #11522 * Drupal 8.0.5 works with Postgres, but not {{{drush site-install}}} * keywords: drupal 8 postgresql * [https://www.drupal.org/node/2157455 Make Drupal 8 work with PostgreSQL or remove support from core before release] * [https://www.drupal.org/node/1060476 Multiple issues when PostgreSQL is used with non-public schema] = CKEditor for Drupal 7 = Lets'use wysiwyg module * Supported Editors Matrix https://www.drupal.org/node/596966 * $ drush dl --select wysiwyg * $ drush dl wysiwyg-2.x-dev * $ drush en wysiwyg * $ drush status-report * .../sites/all/libraries$ ln -s .../bower_components/ckeditor/ . Does not work! Brobably because of symbolic links... better use .bowerrc to set target directory as suggested above. http://cdn.ckeditor.com/4.5.4/full-all = Drupal Modules = == Installing and removing modules == * [https://www.drupal.org/node/2487215 How to fix "The following module is missing from the file system..." warning messages] == Drupal 7 and 8 correspondancy == * [[span(title="", )]] * [[span(title="Admin Toolbar improve...", [https://www.drupal.org/project/admin_toolbar Admin Toolbar])]] * [[span(title="""Admin Toolbar improve...""", [https://www.drupal.org/project/admin_toolbar Admin Toolbar])]] * [https://www.drupal.org/project/admin_toolbar [[span(title="Admin Toolbar improve...", Admin Toolbar)]] ] * [https://www.drupal.org/project/admin_toolbar [[span(title="Admin Toolbar improve...", Admin Toolbar)]]] * [[span(title=Tooltip 1, Tooltip example 1)]] {{{#!span title="Tooltip 2b" Tooltip example 2b }}} {{{#!span title="""Tooltip 2h""" Tooltip example 2h }}} {{{#!span title= "Tooltip 2g" Tooltip example 2g }}} {{{#!span title= "Tooltip 2h" Tooltip example 2h }}} {{{#!span title="Tooltip\\2e" Tooltip example 2e }}} {{{#!span title="Tooltip[[br]]2f" Tooltip example 2f }}} {{{#!span title=`Tooltip 2c` Tooltip example 2c does not work }}} {{{#!span title=`Tooltip 2d multiline` Tooltip example 2d }}} {{{#!html }}} Tooltip example 4a {{{#!html }}} {{{#!span title="Tooltip 2a" Tooltip example 2a}}} {{{#!span title="Tooltip 3a multiline tooltip" Tooltip example 3a }}} {{{#!span title={{{Tooltip 3b multiline tooltip }}} Tooltip example 3b }}} ||= **D7 ordered** =|| Drupal 8 || || Drupal 7 ||= **D8 ordered** =|| || || || ||||= **Core** =|| || [[span(title="", )]] || [[span(title="", )]] || || [[span(title="", )]] || [[span(title="", )]] || || || || || || Actions || || || || || || Activity Tracker || || || || || || Aggregator || || || || || || Automated Cron || || || || || || Ban || || || || || || Block || || || || || || Book || || || || || || || || || || ||||= **Administration** =|| || || || || [https://www.drupal.org/project/navbar Navbar], [https://www.drupal.org/project/admin_menu Administration menu] || [https://www.drupal.org/project/admin_toolbar Admin Toolbar] || || || || || || [https://www.drupal.org/project/admin_toolbar Admin Toolbar Extra Tools] || || || || ||||= **Media** =|| || || || || [https://www.drupal.org/project/media Media] || || || || || || [https://www.drupal.org/project/entity_embed Entity Embed] || [https://www.drupal.org/project/entity_embed Entity Embed] || || || || || || [https://www.drupal.org/project/embed Embed] || || || || || [https://www.drupal.org/project/entity_view_mode Entity view modes] || core || || || || || [https://www.drupal.org/project/media_library Media Library] || || || || || || [https://www.drupal.org/project/video_embed_field Video Embed Field] || [https://www.drupal.org/project/video_embed_field Video Embed Field] || || || || || [https://www.drupal.org/project/file_entity File Entity (fieldable files)] || [https://www.drupal.org/project/file_entity File Entity (fieldable files)] || || || || || || [https://www.drupal.org/project/media_entity Media entity] || || || || || [https://www.drupal.org/project/insert Insert], [https://www.drupal.org/project/ocupload One Click Upload] || [https://www.drupal.org/project/ckeditor_uploadimage CKEditor Upload Image] || || || || || [https://www.drupal.org/project/styles Styles] || || || || || || [https://www.drupal.org/project/imce IMCE] || [https://www.drupal.org/project/imce IMCE] || || || || || [https://www.drupal.org/project/quickedit Quick Edit] || core || || || || || [https://www.drupal.org/project/dialog Dialog] || core || || || || || [https://www.drupal.org/project/quickedit_tab Quick Edit Tab] || core || || || || || [https://www.drupal.org/project/picture Picture] || core || || || || || || || || || || || || || * [https://dev.acquia.com/blog/tutorial-drupal-8-wysiwyg-inline-and-responsive-images/10/03/2016/9821 Tutorial: Drupal 8 WYSIWYG, Inline and Responsive Images] * [https://www.drupal.org/node/1040446 Drupal 7/wysiwyg/CKEditor - no image upload capability] == [https://www.drupal.org/project/hybridauth Hybridauth] == http://cgit.drupalcode.org/hybridauth/tree/README.txt?id=refs/heads;id2=7.x-2.x == [https://www.drupal.org/project/openid_connect OpenID Connect] == * [https://www.drupal.org/node/2788025 Missing sign in block] Drupal 8 version == [https://www.drupal.org/project/simplenews Simplenews] == * https://backdropcms.org/project/simplenews == [https://www.drupal.org/project/spark Spark] == = Inside Drupal = == Training == * https://www.youtube.com/results?search_query=drupal+8+under+the+hood * http://knpuniversity.com/screencast/drupal8-under-the-hood * https://drupalize.me/blog/201408/new-php-tutorials-symfony-experts-knp-labs * https://www.youtube.com/results?search_query=drupal8 == Entities == * Introduced in Drupal 7 * Something different : Symfony Entity * [https://www.drupal.org/node/1261744 An Introduction to Entities] * [https://www.drupal.org/node/878784 Entity API Tutorial] * [http://joshaust.in/wp-content/uploads/2012/06/Entities-and-Bundles-in-Drupal-7.pdf Enties and Bundles in Drupal 7] * [https://www.drupal.org/node/1649688 Understanding entity terminology] * [https://evolvingweb.ca/blog/drupal-7-entities-what-are-they-and-what-are-they-good Drupal 7 Entities: What are they, and what are they good for?] * https://www.drupal.org/project/bean * https://api.backdropcms.org/api/backdrop/core!modules!entity!entity.api.php/1 * drupal 8 entity * https://www.drupal.org/developing/api/entity * https://www.drupal.org/node/2192175 * http://www.drupalcontrib.org/api/drupal/drupal!core!vendor!symfony!validator!Symfony!Component!Validator!Tests!Fixtures!Entity.php/8 == Drupal 8 == * http://www.garfieldtech.com/presentations/sflportland-drupal8-symfony2 = Performance = * https://www.drupal.org/docs/8/managing-site-performance-and-scalability * https://www.drupal.org/project/site_audit * https://www.drupal.org/project/lazyloader * [https://www.keycdn.com/blog/speed-up-drupal/ 11 Tips to Speed Up Drupal Performance] by a CDN Provider == Cache == * [http://buytaert.net/making-drupal-8-fly Making Drupal 8 fly] * https://api.drupal.org/api/drupal/core%21core.api.php/group/cache/8.2.x?no_cache=1474197676 * [https://www.sitepoint.com/exploring-cache-api-drupal-8/ Exploring the Cache API in Drupal 8] * [http://wimleers.com/article/drupal-8-dynamic-page-cache Drupal 8's Dynamic Page Cache] * [http://getlevelten.com/blog/randall-knutson/keys-caching-drupal The Keys to Caching Drupal] === Configuring === * keyword: drupal 8 $settings['cache']['default'] * http://www.drupalonwindows.com/en/blog/drupal-8-performance-moving-service-container-cache-away-database * https://docs.acquia.com/article/drupal-8-cache-backend * [https://www.chapterthree.com/blog/how-to-turn-off-drupal-8-caching How to Turn Off Drupal 8 Caching] === Managing cache === * https://www.drupal.org/project/purge * https://www.drupal.org/project/expire (Drupal 7 only (2016-09)) ==== Drupal 7 contrib, but in Drupal 8 core ==== * https://www.drupal.org/project/views_content_cache === APCu and APC === * [wiki:members/GRIP-UQAM/PHP#APCuandAPC] * [https://www.drupal.org/node/2327507 Several cache bins now use APCu caching by default] Drupal 8 * [https://www.drupal.org/node/2598914 Disable Drupal 8 caching during development] * [https://www.drupal.org/node/2605652 Disabling the render cache] * [https://www.drupal.org/node/2248767 Use fast, local cache back-end (APCu, if available) for low-write caches (bootstrap, discovery, and config)] * [http://fabianx.drupalgardens.com/blog/day-1-tweak-drupal-8-performance-use-apcu-24-days-performance-goodies Day 1: Tweak Drupal 8 Performance: Use APCu - 24 days of performance goodies] * [https://docs.acquia.com/article/drupal-8-cache-backend Drupal 8: Cache Backend] * [https://github.com/acquia/blt/issues/40 Provide default services.yml, including APCu config] * [https://github.com/acquia/blt BLT (Build and Launch Tool) is a tool that generates new Drupal projects using a standardized template derived from Acquia Professional Services' best practices.] [https://packagist.org/packages/acquia/blt acquia/blt] * https://www.drupal.org/project/apcu * https://www.drupal.org/project/apc * [http://www.jeffgeerling.com/blogs/jeff-geerling/apc-caching-dramatically APC Caching to Dramatically Reduce MySQL traffic] === Varnish === * [http://www.jeffgeerling.com/blog/2016/use-drupal-8-cache-tags-varnish-and-purge Use Drupal 8 Cache Tags with Varnish and Purge] = Feed = Atom seems abandoned by Drupal * keyword: atom site:drupal.org * https://www.drupal.org/project/atom * https://www.drupal.org/project/feeds_atom * https://www.drupal.org/project/views_atom * https://www.drupal.org/project/atom_views * //[https://www.chenhuijing.com/blog/drupal-101-what-i-learnt-from-hours-of-troubleshooting-feeds/ Drupal 101: What I learnt from hours of troubleshooting Feeds]//