From b6b71ab9a45e49b500c3e6621f8a5e669d9fe09d Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Fri, 24 May 2019 15:13:14 +0200 Subject: [PATCH] added recomputing of home compute field on cron --- .../devel/language/fr/views.view.watchdog.yml | 4 + config/sync/language/fr/image.style.large.yml | 1 + .../system.action.user_block_user_action.yml | 1 + .../system.action.user_cancel_user_action.yml | 1 + ...system.action.user_unblock_user_action.yml | 1 + .../sync/language/fr/views.view.archive.yml | 7 ++ .../language/fr/views.view.taxonomy_term.yml | 1 + .../ultimate_cron.job.materio_home_cron.yml | 29 +++++ .../custom/materio_home/materio_home.module | 111 +++++++++++++----- 9 files changed, 124 insertions(+), 32 deletions(-) create mode 100644 config/sync/language/fr/image.style.large.yml create mode 100644 config/sync/language/fr/system.action.user_block_user_action.yml create mode 100644 config/sync/language/fr/system.action.user_cancel_user_action.yml create mode 100644 config/sync/language/fr/system.action.user_unblock_user_action.yml create mode 100644 config/sync/ultimate_cron.job.materio_home_cron.yml diff --git a/config/devel/language/fr/views.view.watchdog.yml b/config/devel/language/fr/views.view.watchdog.yml index 5bb411b0..62d38d5b 100644 --- a/config/devel/language/fr/views.view.watchdog.yml +++ b/config/devel/language/fr/views.view.watchdog.yml @@ -23,6 +23,8 @@ display: fields: nothing: admin_label: Icône + wid: + label: WID severity: label: Importance type: @@ -31,6 +33,8 @@ display: label: Date message: label: Message + alter: + alt: '{{ message }}' name: label: Utilisateur separator: ', ' diff --git a/config/sync/language/fr/image.style.large.yml b/config/sync/language/fr/image.style.large.yml new file mode 100644 index 00000000..7ec6ca06 --- /dev/null +++ b/config/sync/language/fr/image.style.large.yml @@ -0,0 +1 @@ +label: 'Large (480×480)' diff --git a/config/sync/language/fr/system.action.user_block_user_action.yml b/config/sync/language/fr/system.action.user_block_user_action.yml new file mode 100644 index 00000000..d4646c1f --- /dev/null +++ b/config/sync/language/fr/system.action.user_block_user_action.yml @@ -0,0 +1 @@ +label: 'Bloquer le(s) utilisateur(s) sélectionné(s)' diff --git a/config/sync/language/fr/system.action.user_cancel_user_action.yml b/config/sync/language/fr/system.action.user_cancel_user_action.yml new file mode 100644 index 00000000..8e4639e5 --- /dev/null +++ b/config/sync/language/fr/system.action.user_cancel_user_action.yml @@ -0,0 +1 @@ +label: 'Annuler l''(les) utilisateur(s) sélectionné(s)' diff --git a/config/sync/language/fr/system.action.user_unblock_user_action.yml b/config/sync/language/fr/system.action.user_unblock_user_action.yml new file mode 100644 index 00000000..b1365daf --- /dev/null +++ b/config/sync/language/fr/system.action.user_unblock_user_action.yml @@ -0,0 +1 @@ +label: 'Débloquer le(s) utilisateur(s) sélectionné(s)' diff --git a/config/sync/language/fr/views.view.archive.yml b/config/sync/language/fr/views.view.archive.yml index 67c5141e..09841dec 100644 --- a/config/sync/language/fr/views.view.archive.yml +++ b/config/sync/language/fr/views.view.archive.yml @@ -21,7 +21,14 @@ display: tags: previous: ‹‹ next: ›› + arguments: + created_year_month: + title: '{{ arguments.created_year_month }}' block_1: display_title: Bloc + display_options: + arguments: + created_year_month: + title: '{{ arguments.created_year_month }}' page_1: display_title: Page diff --git a/config/sync/language/fr/views.view.taxonomy_term.yml b/config/sync/language/fr/views.view.taxonomy_term.yml index 3fd481bc..20ad3c8a 100644 --- a/config/sync/language/fr/views.view.taxonomy_term.yml +++ b/config/sync/language/fr/views.view.taxonomy_term.yml @@ -24,6 +24,7 @@ display: tid: exception: title: Tout + title: '{{ arguments.tid }}' feed_1: display_title: Flux page_1: diff --git a/config/sync/ultimate_cron.job.materio_home_cron.yml b/config/sync/ultimate_cron.job.materio_home_cron.yml new file mode 100644 index 00000000..3611e6d4 --- /dev/null +++ b/config/sync/ultimate_cron.job.materio_home_cron.yml @@ -0,0 +1,29 @@ +uuid: c2ba4b89-48f4-4d48-9c29-cb7d0df8ead8 +langcode: en +status: true +dependencies: + module: + - materio_home +title: 'Default cron handler' +id: materio_home_cron +weight: 0 +module: materio_home +callback: materio_home_cron +scheduler: + id: simple + configuration: + rules: + - '*/5+@ * * * *' +launcher: + id: serial + configuration: + timeouts: + lock_timeout: 3600 + launcher: + thread: 0 +logger: + id: database + configuration: + method: '3' + expire: 1209600 + retain: 1000 diff --git a/web/modules/custom/materio_home/materio_home.module b/web/modules/custom/materio_home/materio_home.module index 0db6d229..45711e2d 100644 --- a/web/modules/custom/materio_home/materio_home.module +++ b/web/modules/custom/materio_home/materio_home.module @@ -4,22 +4,25 @@ use Drupal\Core\Field\BaseFieldDefinition; use Drupal\Core\Field\FieldStorageDefinitionInterface; use Drupal\mymodule\Plugin\Field\FieldType\MyFieldComputed; -/** - * Implements hook_theme(). - */ -// function materio_home_theme($existing, $type, $theme, $path) { -// // @see https://www.drupal.org/docs/8/theming/twig/create-custom-twig-templates-from-custom-module -// -// return array( -// 'materio_home' => array( -// // 'render element' => '', -// 'file' => 'includes/materio_home.inc', -// 'variables' => array( -// 'frontpage_node' => NULL, -// ), -// ), -// ); -// } + +// https://www.drupal.org/project/drupal/issues/2916266#comment-12301574 + +// $key_value_factory = \Drupal::service('keyvalue'); +// $field_map_kv_store = $key_value_factory->get('entity.definitions.bundle_field_map'); +// $node_map = $field_map_kv_store->get('node'); + +// unset($node_map['field_workflow']['bundles']['breve']); +// unset($node_map['field_visuel']['bundles']['breve']); +// unset($node_map['field_video']['bundles']['breve']); +// unset($node_map['field_thesaurus']['bundles']['breve']); +// unset($node_map['field_tags']['bundles']['breve']); +// unset($node_map['field_source']['bundles']['breve']); +// unset($node_map['field_showroom']['bundles']['breve']); +// unset($node_map['field_migration']['bundles']['breve']); +// unset($node_map['field_linked_materials']['bundles']['breve']); +// unset($node_map['field_memo']['bundles']['breve']); + +// $field_map_kv_store->set('node', $node_map); /** * Implement hook_entity_bundle_field_info(). @@ -99,6 +102,50 @@ function materio_home_entity_bundle_field_info(EntityTypeInterface $entity_type, } } +/** + * Implement hook_cron(). + * + */ +function materio_home_cron(){ + $logger = \Drupal::logger('materio_home'); + // recompile every 5 minutes + // $request_time = \Drupal::time()->getRequestTime(); + // if ($request_time - \Drupal::state()->get('materio_home.last_recompute') >= 300) { + // Short-running operation example, not using a queue + $query = \Drupal::entityQuery('node') + ->condition('status', 1) + ->condition('type', 'frontpage'); + $nids = $query->execute(); + $nodes = entity_load_multiple('node', $nids); + foreach ($nodes as $nid => $node) { + $logger->notice('cron | regenerating computed fields for '.$nid); + $node->save(); + } + // \Drupal::state()->set('materio_home.last_recompute', $request_time); + // } +} + + +/** + * Implements hook_theme(). + */ +// function materio_home_theme($existing, $type, $theme, $path) { +// // @see https://www.drupal.org/docs/8/theming/twig/create-custom-twig-templates-from-custom-module +// +// return array( +// 'materio_home' => array( +// // 'render element' => '', +// 'file' => 'includes/materio_home.inc', +// 'variables' => array( +// 'frontpage_node' => NULL, +// ), +// ), +// ); +// } + + + + // /** // * implements hook_entity_extra_field_info // * @@ -117,19 +164,19 @@ function materio_home_entity_bundle_field_info(EntityTypeInterface $entity_type, // // ]; // return $extra; // } - -/** - * Implements hook_install(). - */ -function materio_home_install() { - $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node'); - \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type); -} - -/** - * Implements hook_uninstall(). - */ -function materio_home_uninstall() { - $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node'); - \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type); -} +// +// /** +// * Implements hook_install(). +// */ +// function materio_home_install() { +// $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node'); +// \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type); +// } +// +// /** +// * Implements hook_uninstall(). +// */ +// function materio_home_uninstall() { +// $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node'); +// \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type); +// }