Browse Source

added recomputing of home compute field on cron

Bachir Soussi Chiadmi 5 years ago
parent
commit
b6b71ab9a4

+ 4 - 0
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: ', '

+ 1 - 0
config/sync/language/fr/image.style.large.yml

@@ -0,0 +1 @@
+label: 'Large (480×480)'

+ 1 - 0
config/sync/language/fr/system.action.user_block_user_action.yml

@@ -0,0 +1 @@
+label: 'Bloquer le(s) utilisateur(s) sélectionné(s)'

+ 1 - 0
config/sync/language/fr/system.action.user_cancel_user_action.yml

@@ -0,0 +1 @@
+label: 'Annuler l''(les) utilisateur(s) sélectionné(s)'

+ 1 - 0
config/sync/language/fr/system.action.user_unblock_user_action.yml

@@ -0,0 +1 @@
+label: 'Débloquer le(s) utilisateur(s) sélectionné(s)'

+ 7 - 0
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

+ 1 - 0
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:

+ 29 - 0
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

+ 79 - 32
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);
+// }