diff --git a/config/install/features.bundle.default.yml b/config/install/features.bundle.default.yml
index 514daf4e4fe7d336bdaf046ac54a5977661e1340..cd4e7c9617556ae03c1f11d139d4e5ce758debe8 100644
--- a/config/install/features.bundle.default.yml
+++ b/config/install/features.bundle.default.yml
@@ -1,8 +1,8 @@
 langcode: en
 status: true
 dependencies: {  }
-machine_name: default
 name: Default
+machine_name: default
 description: ''
 assignments:
   alter:
diff --git a/config/install/views.view.frontpage.yml b/config/install/views.view.frontpage.yml
index 1b95bbe82a4ee208475c9ddc1f53f79dd03d621f..f287fe9f30209ce890c002e988217d4a071761a8 100644
--- a/config/install/views.view.frontpage.yml
+++ b/config/install/views.view.frontpage.yml
@@ -16,7 +16,44 @@ base_table: node_field_data
 base_field: nid
 display:
   default:
+    id: default
+    display_title: Master
+    display_plugin: default
+    position: 0
     display_options:
+      title: ''
+      fields: {  }
+      pager:
+        type: full
+        options:
+          offset: 0
+          items_per_page: 10
+          total_pages: 0
+          id: 0
+          tags:
+            next: 'Next ›'
+            previous: '‹ Previous'
+            first: '« First'
+            last: 'Last »'
+          expose:
+            items_per_page: false
+            items_per_page_label: 'Items per page'
+            items_per_page_options: '5, 10, 25, 50'
+            items_per_page_options_all: false
+            items_per_page_options_all_label: '- All -'
+            offset: false
+            offset_label: Offset
+          quantity: 9
+      exposed_form:
+        type: basic
+        options:
+          submit_button: Apply
+          reset_button: false
+          reset_button_label: Reset
+          exposed_sorts_label: 'Sort by'
+          expose_sort_order: true
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       access:
         type: perm
         options:
@@ -26,28 +63,28 @@ display:
         options: {  }
       empty:
         area_text_custom:
-          admin_label: ''
-          content: 'No front page content has been created yet.'
-          empty: true
+          id: area_text_custom
+          table: views
           field: area_text_custom
+          relationship: none
           group_type: group
-          id: area_text_custom
+          admin_label: ''
+          plugin_id: text_custom
           label: ''
-          relationship: none
-          table: views
+          empty: true
+          content: 'No front page content has been created yet.'
           tokenize: false
-          plugin_id: text_custom
         node_listing_empty:
-          admin_label: ''
-          empty: true
-          field: node_listing_empty
-          group_type: group
           id: node_listing_empty
-          label: ''
-          relationship: none
           table: node
-          plugin_id: node_listing_empty
+          field: node_listing_empty
+          relationship: none
+          group_type: group
+          admin_label: ''
           entity_type: node
+          plugin_id: node_listing_empty
+          label: ''
+          empty: true
         title:
           id: title
           table: views
@@ -55,74 +92,97 @@ display:
           relationship: none
           group_type: group
           admin_label: ''
+          plugin_id: title
           label: ''
           empty: true
           title: 'Welcome to [site:name]'
-          plugin_id: title
-      exposed_form:
-        type: basic
-        options:
-          submit_button: Apply
-          reset_button: false
-          reset_button_label: Reset
-          exposed_sorts_label: 'Sort by'
-          expose_sort_order: true
-          sort_asc_label: Asc
-          sort_desc_label: Desc
+      sorts:
+        sticky:
+          id: sticky
+          table: node_field_data
+          field: sticky
+          relationship: none
+          group_type: group
+          admin_label: ''
+          entity_type: node
+          entity_field: sticky
+          plugin_id: boolean
+          order: DESC
+          expose:
+            label: ''
+            field_identifier: sticky
+          exposed: false
+        created:
+          id: created
+          table: node_field_data
+          field: created
+          relationship: none
+          group_type: group
+          admin_label: ''
+          entity_type: node
+          entity_field: created
+          plugin_id: date
+          order: DESC
+          expose:
+            label: ''
+            field_identifier: created
+          exposed: false
+          granularity: second
+      arguments: {  }
       filters:
         promote:
+          id: promote
+          table: node_field_data
+          field: promote
+          relationship: none
+          group_type: group
           admin_label: ''
+          entity_type: node
+          entity_field: promote
+          plugin_id: boolean
+          operator: '='
+          value: '1'
+          group: 1
+          exposed: false
           expose:
-            description: ''
-            identifier: ''
+            operator_id: ''
             label: ''
-            multiple: false
+            description: ''
+            use_operator: false
             operator: ''
-            operator_id: ''
+            operator_limit_selection: false
+            operator_list: {  }
+            identifier: ''
+            required: false
             remember: false
+            multiple: false
             remember_roles:
               authenticated: authenticated
-            required: false
-            use_operator: false
-            operator_limit_selection: false
-            operator_list: {  }
-          exposed: false
-          field: promote
-          group: 1
+          is_grouped: false
           group_info:
-            default_group: All
-            default_group_multiple: {  }
+            label: ''
             description: ''
-            group_items: {  }
             identifier: ''
-            label: ''
-            multiple: false
             optional: true
-            remember: false
             widget: select
-          group_type: group
-          id: promote
-          is_grouped: false
-          operator: '='
-          relationship: none
+            multiple: false
+            remember: false
+            default_group: All
+            default_group_multiple: {  }
+            group_items: {  }
+        status:
+          id: status
           table: node_field_data
-          value: '1'
-          plugin_id: boolean
+          field: status
           entity_type: node
-          entity_field: promote
-        status:
+          entity_field: status
+          plugin_id: boolean
+          value: '1'
+          group: 1
           expose:
             operator: ''
             operator_limit_selection: false
             operator_list: {  }
-          field: status
-          group: 1
-          id: status
-          table: node_field_data
-          value: '1'
-          plugin_id: boolean
-          entity_type: node
-          entity_field: status
         langcode:
           id: langcode
           table: node_field_data
@@ -130,6 +190,9 @@ display:
           relationship: none
           group_type: group
           admin_label: ''
+          entity_type: node
+          entity_field: langcode
+          plugin_id: language
           operator: in
           value:
             '***LANGUAGE_language_content***': '***LANGUAGE_language_content***'
@@ -141,6 +204,8 @@ display:
             description: ''
             use_operator: false
             operator: ''
+            operator_limit_selection: false
+            operator_list: {  }
             identifier: ''
             required: false
             remember: false
@@ -148,8 +213,6 @@ display:
             remember_roles:
               authenticated: authenticated
             reduce: false
-            operator_limit_selection: false
-            operator_list: {  }
           is_grouped: false
           group_info:
             label: ''
@@ -162,74 +225,82 @@ display:
             default_group: All
             default_group_multiple: {  }
             group_items: {  }
-          plugin_id: language
-          entity_type: node
-          entity_field: langcode
-      pager:
-        type: full
-        options:
-          items_per_page: 10
-          offset: 0
-          id: 0
-          total_pages: 0
-          expose:
-            items_per_page: false
-            items_per_page_label: 'Items per page'
-            items_per_page_options: '5, 10, 25, 50'
-            items_per_page_options_all: false
-            items_per_page_options_all_label: '- All -'
-            offset: false
-            offset_label: Offset
-          tags:
-            previous: '‹ Previous'
-            next: 'Next ›'
-            first: '« First'
-            last: 'Last »'
-          quantity: 9
-      query:
-        type: views_query
-        options:
-          disable_sql_rewrite: false
-          distinct: false
-          replica: false
-          query_comment: ''
-          query_tags: {  }
-      row:
-        type: 'entity:node'
-        options:
-          view_mode: teaser
-      sorts:
-        sticky:
+        field_uw_exclude_auto_value:
+          id: field_uw_exclude_auto_value
+          table: node__field_uw_exclude_auto
+          field: field_uw_exclude_auto_value
+          relationship: none
+          group_type: group
           admin_label: ''
+          plugin_id: boolean
+          operator: '='
+          value: '0'
+          group: 1
+          exposed: false
           expose:
+            operator_id: ''
             label: ''
-            field_identifier: sticky
-          exposed: false
-          field: sticky
-          group_type: group
-          id: sticky
-          order: DESC
-          relationship: none
-          table: node_field_data
-          plugin_id: boolean
-          entity_type: node
-          entity_field: sticky
-        created:
-          field: created
-          id: created
-          order: DESC
-          table: node_field_data
-          plugin_id: date
+            description: ''
+            use_operator: false
+            operator: ''
+            operator_limit_selection: false
+            operator_list: {  }
+            identifier: ''
+            required: false
+            remember: false
+            multiple: false
+            remember_roles:
+              authenticated: authenticated
+          is_grouped: false
+          group_info:
+            label: ''
+            description: ''
+            identifier: ''
+            optional: true
+            widget: select
+            multiple: false
+            remember: false
+            default_group: All
+            default_group_multiple: {  }
+            group_items: {  }
+        field_uw_exclude_auto_value_1:
+          id: field_uw_exclude_auto_value_1
+          table: node__field_uw_exclude_auto
+          field: field_uw_exclude_auto_value
           relationship: none
           group_type: group
           admin_label: ''
+          plugin_id: boolean
+          operator: '='
+          value: '0'
+          group: 1
           exposed: false
           expose:
+            operator_id: ''
             label: ''
-            field_identifier: created
-          granularity: second
-          entity_type: node
-          entity_field: created
+            description: ''
+            use_operator: false
+            operator: ''
+            operator_limit_selection: false
+            operator_list: {  }
+            identifier: ''
+            required: false
+            remember: false
+            multiple: false
+            remember_roles:
+              authenticated: authenticated
+          is_grouped: false
+          group_info:
+            label: ''
+            description: ''
+            identifier: ''
+            optional: true
+            widget: select
+            multiple: false
+            remember: false
+            default_group: All
+            default_group_multiple: {  }
+            group_items: {  }
       style:
         type: default
         options:
@@ -237,74 +308,79 @@ display:
           row_class: ''
           default_row_class: true
           uses_fields: false
-      title: ''
+      row:
+        type: 'entity:node'
+        options:
+          view_mode: teaser
+      query:
+        type: views_query
+        options:
+          query_comment: ''
+          disable_sql_rewrite: false
+          distinct: false
+          replica: false
+          query_tags: {  }
+      relationships: {  }
       header: {  }
       footer: {  }
-      relationships: {  }
-      fields: {  }
-      arguments: {  }
       display_extenders: {  }
-    display_plugin: default
-    display_title: Master
-    id: default
-    position: 0
     cache_metadata:
+      max-age: -1
       contexts:
         - 'languages:language_interface'
         - url.query_args
         - 'user.node_grants:view'
         - user.permissions
-      max-age: -1
       tags: {  }
   feed_1:
-    display_plugin: feed
     id: feed_1
     display_title: Feed
+    display_plugin: feed
     position: 2
     display_options:
-      sitename_title: true
-      path: rss.xml
-      displays:
-        page_1: page_1
-        default: ''
       pager:
         type: some
         options:
-          items_per_page: 10
           offset: 0
+          items_per_page: 10
       style:
         type: rss
         options:
-          description: ''
           grouping: {  }
           uses_fields: false
+          description: ''
       row:
         type: node_rss
         options:
           relationship: none
           view_mode: rss
       display_extenders: {  }
+      path: rss.xml
+      sitename_title: true
+      displays:
+        page_1: page_1
+        default: ''
     cache_metadata:
+      max-age: -1
       contexts:
         - 'languages:language_interface'
         - 'user.node_grants:view'
         - user.permissions
-      max-age: -1
       tags: {  }
   page_1:
+    id: page_1
+    display_title: Page
+    display_plugin: page
+    position: 1
     display_options:
-      path: node
       display_extenders:
         metatag_display_extender: {  }
-    display_plugin: page
-    display_title: Page
-    id: page_1
-    position: 1
+      path: node
     cache_metadata:
+      max-age: -1
       contexts:
         - 'languages:language_interface'
         - url.query_args
         - 'user.node_grants:view'
         - user.permissions
-      max-age: -1
       tags: {  }
diff --git a/uw_sites_all.info.yml b/uw_sites_all.info.yml
index b527386896063193ef97c08cebce3b6eb7d9b3fd..1714f0678a3044c021b06dae7eac632f8684244d 100644
--- a/uw_sites_all.info.yml
+++ b/uw_sites_all.info.yml
@@ -28,6 +28,8 @@ dependencies:
   - 'drupal:block_content'
   - 'drupal:block_form_alter'
   - 'drupal:breakpoint'
+  - 'drupal:calendar_view'
+  - 'drupal:calendar_view_multiday'
   - 'drupal:ckeditor'
   - 'drupal:comment'
   - 'drupal:config'
@@ -74,6 +76,7 @@ dependencies:
   - 'drupal:user'
   - 'drupal:views'
   - 'drupal:workflows'
+  - 'calculation_fields:calculation_fields'
   - 'editoria11y:editoria11y'
   - 'entity_reference_revisions:entity_reference_revisions'
   - 'eu_cookie_compliance:eu_cookie_compliance'
@@ -109,6 +112,7 @@ dependencies:
   - 'metatag:metatag_twitter_cards'
   - 'metatag:metatag_views'
   - 'module_filter:module_filter'
+  - 'multivalue_form_element:multivalue_form_element'
   - 'node_revision_delete:node_revision_delete'
   - 'office_hours:office_hours'
   - 'override_node_options:override_node_options'
@@ -192,6 +196,8 @@ dependencies:
   - 'webform:webform_options_limit'
   - 'webform:webform_ui'
   - 'webform_mailchimp:webform_mailchimp'
+  - 'webform_calculation_fields:webform_calculation_fields'
+  - 'webform_remote_fields:webform_remote_fields'
   - 'webform_xlsx_export:webform_xlsx_export'
   - 'workbench_access:workbench_access'
 libraries:
diff --git a/uw_sites_all.install b/uw_sites_all.install
index 63c01eb6143e0e5481081c543c80ee295b666c4b..2def010235feb2eaf7698bd4543c95b82cc0568c 100644
--- a/uw_sites_all.install
+++ b/uw_sites_all.install
@@ -1693,6 +1693,7 @@ function uw_sites_all_update_9142(&$sandbox) {
  * Install views_cm_current_state.
  */
 function uw_sites_all_update_9143(&$sandbox) {
+
   $modules = [
     'views_cm_current_state',
   ];
@@ -1773,3 +1774,31 @@ function uw_sites_all_update_9149(&$sandbox) {
 
   \Drupal::service('module_installer')->install($modules);
 }
+
+/**
+ * Install calendar view modules.
+ */
+function uw_sites_all_update_9150(&$sandbox) {
+  // Calendar modules to install.
+  $modules = [
+    'calendar_view',
+    'calendar_view_multiday',
+  ];
+
+  // Install the calendar modules.
+  \Drupal::service('module_installer')->install($modules);
+}
+
+/**
+ * Install calculation_fields, multivalue_form_element, webform_remote_fields.
+ */
+function uw_sites_all_update_9151(&$sandbox) {
+  $modules = [
+    'calculation_fields',
+    'multivalue_form_element',
+    'webform_calculation_fields',
+    'webform_remote_fields',
+  ];
+
+  \Drupal::service('module_installer')->install($modules);
+}