From f7e89e9df10201e25d81f58c68651345c945c6bf Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Wed, 5 May 2021 16:34:37 +0200
Subject: [PATCH] working on: 0.0.33 Release

---
 ...{admin_service.py => app_admin_service.py} |   0
 .../blueprints/app_admin/app_admin_views.py   | 411 ++++++++++++++++++
 .../{admin => app_admin}/admin_info.html      |   4 +-
 .../admin_tasks.html}                         |   4 +-
 .../templates/{admin => app_admin}/index.html |   4 +-
 .../app_admin_navbar_dropdown.html}           |   0
 .../navigation/app_admin_navtabs.html}        |   0
 .../app_all_service_config.py}                |   0
 .../app_all_services.py}                      |   2 +-
 .../app_all_views.py}                         |  18 +-
 .../blueprints/app_all/templates/__init__.py  |   0
 .../templates/app_all/app_all_tasks.html}     |   4 +-
 .../fragments/fragment_flashed_messages.html  |   0
 .../fragments/fragment_pagination.html        |   0
 .../app_all/layout}/page_layout.html          |   6 +-
 .../app_all/layout}/page_layout_old.html      |   6 +-
 .../application_service_download.py           |   2 +-
 .../app_application/application_views.py      |   4 +-
 .../app_application/application_workers.py    |   2 +-
 .../navigation/navbar.html                    |   2 +-
 .../navigation/navtabs.html                   |   0
 .../page_home.html                            |   2 +-
 .../app_user/templates/usr/login.html         |   3 +-
 .../app_user/templates/usr/profile.html       |   2 +-
 .../app_user/templates/usr/user_info.html     |   2 +-
 .../app_user/templates/usr/user_tasks.html    |   2 +-
 src/covid19/blueprints/ecdc/ecdc_service.py   |   4 +-
 .../blueprints/ecdc/ecdc_service_import.py    |   2 +-
 .../blueprints/ecdc/ecdc_service_update.py    |   2 +-
 src/covid19/blueprints/ecdc/ecdc_views.py     |   2 +-
 .../ecdc/continent/ecdc_continent_all.html    |   2 +-
 .../ecdc/continent/ecdc_continent_one.html    |   2 +-
 .../ecdc/country/ecdc_country_all.html        |   2 +-
 .../ecdc/country/ecdc_country_germany.html    |   2 +-
 .../ecdc/country/ecdc_country_one.html        |   2 +-
 .../date_reported/ecdc_date_reported_all.html |   2 +-
 .../date_reported/ecdc_date_reported_one.html |   2 +-
 .../ecdc_date_reported_one_cases_weekly.html  |   2 +-
 .../ecdc_date_reported_one_deaths_weekly.html |   2 +-
 ...c_date_reported_one_notification_rate.html |   2 +-
 .../templates/ecdc/ecdc_data/ecdc_data.html   |   2 +-
 .../ecdc/templates/ecdc/ecdc_info.html        |   2 +-
 .../ecdc/templates/ecdc/ecdc_tasks.html       |   2 +-
 .../ecdc/imported/ecdc_imported.html          |   2 +-
 .../blueprints/ecdc_test/ecdc_test_service.py |   4 +-
 .../blueprints/ecdc_test/ecdc_test_views.py   |   3 +-
 .../templates/ecdc_test/ecdc_tests.html       |   2 +-
 .../intensivregister/divi_service.py          |   2 +-
 .../intensivregister/divi_service_import.py   |   2 +-
 .../intensivregister/divi_service_update.py   |   2 +-
 .../blueprints/intensivregister/divi_views.py |   2 +-
 .../divi/country/divi_country_all.html        |   2 +-
 .../divi/country/divi_country_germany.html    |   2 +-
 .../divi/country/divi_country_one.html        |   2 +-
 .../divi_country_one_cases_cumulative.html    |   2 +-
 .../country/divi_country_one_cases_new.html   |   2 +-
 .../divi_country_one_deaths_cumulative.html   |   2 +-
 .../country/divi_country_one_deaths_new.html  |   2 +-
 .../date_reported/divi_date_reported_all.html |   2 +-
 .../date_reported/divi_date_reported_one.html |   2 +-
 ...vi_date_reported_one_cases_cumulative.html |   2 +-
 .../divi_date_reported_one_cases_new.html     |   2 +-
 ...i_date_reported_one_deaths_cumulative.html |   2 +-
 .../divi_date_reported_one_deaths_new.html    |   2 +-
 .../templates/divi/divi_imported.html         |   2 +-
 .../templates/divi/divi_info.html             |   2 +-
 .../templates/divi/divi_tasks.html            |   2 +-
 .../divi/region/divi_region_all.html          |   2 +-
 .../divi/region/divi_region_one.html          |   2 +-
 .../divi_test_service.py                      |   2 +-
 .../intensivregister_test/divi_test_views.py  |   2 +-
 .../templates/divi_test/divi_tests.html       |   2 +-
 src/covid19/blueprints/owid/owid_service.py   |   2 +-
 .../blueprints/owid/owid_service_import.py    |   2 +-
 .../blueprints/owid/owid_service_update.py    |   2 +-
 src/covid19/blueprints/owid/owid_views.py     |   2 +-
 .../owid/continent/owid_continent_all.html    |   2 +-
 .../owid/continent/owid_continent_one.html    |   2 +-
 .../owid/country/owid_country_all.html        |   2 +-
 .../owid/country/owid_country_one.html        |   2 +-
 .../country/owid_country_one_germany.html     |   2 +-
 .../date_reported/owid_date_reported_all.html |   2 +-
 .../date_reported/owid_date_reported_one.html |   2 +-
 ...id_date_reported_one_cases_cumulative.html |   2 +-
 .../owid_date_reported_one_cases_new.html     |   2 +-
 ...d_date_reported_one_deaths_cumulative.html |   2 +-
 .../owid_date_reported_one_deaths_new.html    |   2 +-
 .../owid/imported/owid_imported.html          |   2 +-
 .../owid/templates/owid/owid_info.html        |   2 +-
 .../owid/templates/owid/owid_tasks.html       |   2 +-
 .../blueprints/owid_test/owid_test_service.py |   2 +-
 .../blueprints/owid_test/owid_test_views.py   |   2 +-
 .../templates/owid_test/owid_tests.html       |   2 +-
 .../date_reported/rki_date_reported_all.html  |   2 +-
 .../rki_cases/templates/rki/rki_imported.html |   2 +-
 .../rki_cases/templates/rki/rki_info.html     |   2 +-
 .../rki_cases/templates/rki/rki_tasks.html    |   2 +-
 .../rki_cases/templates/rki/rki_test.html     |   2 +-
 .../templates/rki_test/rki_tests.html         |   2 +-
 .../data/rki_vaccination_data.html            |   2 +-
 .../imported/rki_vaccination_imported.html    |   2 +-
 .../rki_vaccination/rki_vaccination_info.html |   2 +-
 .../rki_vaccination_tasks.html                |   2 +-
 .../who/country/who_country_all.html          |   2 +-
 .../who/country/who_country_germany.html      |   2 +-
 .../who/country/who_country_one.html          |   2 +-
 .../who_country_one_cases_cumulative.html     |   2 +-
 .../country/who_country_one_cases_new.html    |   2 +-
 .../who_country_one_deaths_cumulative.html    |   2 +-
 .../country/who_country_one_deaths_new.html   |   2 +-
 .../date_reported/who_date_reported_all.html  |   2 +-
 .../date_reported/who_date_reported_one.html  |   2 +-
 ...ho_date_reported_one_cases_cumulative.html |   2 +-
 .../who_date_reported_one_cases_new.html      |   2 +-
 ...o_date_reported_one_deaths_cumulative.html |   2 +-
 .../who_date_reported_one_deaths_new.html     |   2 +-
 .../templates/who/region/who_region_all.html  |   2 +-
 .../templates/who/region/who_region_one.html  |   2 +-
 .../who/templates/who/who_imported.html       |   2 +-
 .../who/templates/who/who_info.html           |   2 +-
 .../who/templates/who/who_tasks.html          |   2 +-
 src/covid19/blueprints/who/who_service.py     |   2 +-
 .../blueprints/who/who_service_import.py      |   2 +-
 .../blueprints/who/who_service_update.py      |   2 +-
 src/covid19/blueprints/who/who_views.py       |   2 +-
 .../templates/who_test/who_tests.html         |   2 +-
 .../blueprints/who_test/who_test_service.py   |   2 +-
 .../blueprints/who_test/who_test_views.py     |   2 +-
 128 files changed, 548 insertions(+), 141 deletions(-)
 rename src/covid19/blueprints/app_admin/{admin_service.py => app_admin_service.py} (100%)
 create mode 100644 src/covid19/blueprints/app_admin/app_admin_views.py
 rename src/covid19/blueprints/app_admin/templates/{admin => app_admin}/admin_info.html (52%)
 rename src/covid19/blueprints/app_admin/templates/{admin/system_tasks.html => app_admin/admin_tasks.html} (95%)
 rename src/covid19/blueprints/app_admin/templates/{admin => app_admin}/index.html (93%)
 rename src/covid19/blueprints/app_admin/templates/{admin/navigation/admin_navbar_dropdown.html => app_admin/navigation/app_admin_navbar_dropdown.html} (100%)
 rename src/covid19/blueprints/app_admin/templates/{admin/navigation/admin_navtabs.html => app_admin/navigation/app_admin_navtabs.html} (100%)
 rename src/covid19/blueprints/{app_application/application_service_config.py => app_all/app_all_service_config.py} (100%)
 rename src/covid19/blueprints/{app_application/application_services.py => app_all/app_all_services.py} (92%)
 rename src/covid19/blueprints/{app_admin/admin_views.py => app_all/app_all_views.py} (97%)
 create mode 100644 src/covid19/blueprints/app_all/templates/__init__.py
 rename src/covid19/blueprints/{app_admin/templates/admin/admin_tasks.html => app_all/templates/app_all/app_all_tasks.html} (97%)
 rename src/covid19/blueprints/{app_application/templates/application => app_all/templates/app_all}/fragments/fragment_flashed_messages.html (100%)
 rename src/covid19/blueprints/{app_application/templates/application => app_all/templates/app_all}/fragments/fragment_pagination.html (100%)
 rename src/covid19/blueprints/{app_application/templates/application => app_all/templates/app_all/layout}/page_layout.html (78%)
 rename src/covid19/blueprints/{app_application/templates/application => app_all/templates/app_all/layout}/page_layout_old.html (85%)
 rename src/covid19/blueprints/app_application/templates/{application => app_application}/navigation/navbar.html (94%)
 rename src/covid19/blueprints/app_application/templates/{application => app_application}/navigation/navtabs.html (100%)
 rename src/covid19/blueprints/app_application/templates/{application => app_application}/page_home.html (77%)

diff --git a/src/covid19/blueprints/app_admin/admin_service.py b/src/covid19/blueprints/app_admin/app_admin_service.py
similarity index 100%
rename from src/covid19/blueprints/app_admin/admin_service.py
rename to src/covid19/blueprints/app_admin/app_admin_service.py
diff --git a/src/covid19/blueprints/app_admin/app_admin_views.py b/src/covid19/blueprints/app_admin/app_admin_views.py
new file mode 100644
index 00000000..f903d077
--- /dev/null
+++ b/src/covid19/blueprints/app_admin/app_admin_views.py
@@ -0,0 +1,411 @@
+from flask import render_template, redirect, url_for, flash, Blueprint
+from celery import states
+from celery.utils.log import get_task_logger
+
+from database import app
+from covid19.blueprints.app_all.application_services import who_service, ecdc_service, rki_vaccination_service
+from covid19.blueprints.app_all.application_services import rki_service
+from covid19.blueprints.app_all.application_services import admin_service, owid_service, divi_service
+from covid19.blueprints.app_application.application_workers import celery
+from covid19.blueprints.app_application.application_model_transient import ApplicationPage
+
+drop_and_create_data_again = True
+
+app_admin = Blueprint('app_admin', __name__, template_folder='templates', url_prefix='/admin')
+
+
+# ---------------------------------------------------------------------------------------------------------------
+#  Url Routes Frontend
+# ---------------------------------------------------------------------------------------------------------------
+
+@app_admin.route('/')
+def url_admin_index():
+    page_info = ApplicationPage('Admin', "Covid19 Admin")
+    return render_template(
+        'app_admin/index.html',
+        page_info=page_info)
+
+
+@app_admin.route('/tasks')
+def url_admin_tasks():
+    page_info = ApplicationPage('Admin', "Tasks")
+    return render_template(
+        'app_admin/admin_tasks.html',
+        page_info=page_info)
+
+
+@app_admin.route('/system/tasks')
+def url_system_tasks():
+    page_info = ApplicationPage('Admin', "System Tasks")
+    return render_template(
+        'app_admin/system_tasks.html',
+        page_info=page_info)
+
+
+@app_admin.route('/info')
+def url_admin_info():
+    page_info = ApplicationPage('Admin', "Info")
+    return render_template(
+        'app_admin/admin_info.html',
+        page_info=page_info)
+
+
+# ----------------------------------------------------------------------------------------------------------------
+#  Celery TASKS
+# ----------------------------------------------------------------------------------------------------------------
+
+
+@celery.task(bind=True)
+def task_admin_alive_message(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_alive_message [received] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_alive_message)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_database_drop_create(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_database_drop_create [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_database_drop_create()
+    # divi_service.task_database_drop_create()
+    ecdc_service.task_database_drop_create()
+    owid_service.task_database_drop_create()
+    rki_vaccination_service.task_database_drop_create()
+    # rki_service_bundeslaender.task_database_drop_create()
+    # rki_service_landkreise.task_database_drop_create()
+    admin_service.task_database_drop_create()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_database_drop_create [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_database_drop_create)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_import_all_files(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_import_all_files [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_import_all_files()
+    # divi_service.task_admin_import_all_files()
+    ecdc_service.task_admin_import_all_files()
+    owid_service.task_admin_import_all_files()
+    rki_vaccination_service.task_admin_import_all_files()
+    # rki_service_bundeslaender.task_admin_import_all_files()
+    # rki_service_landkreise.task_admin_import_all_files()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_import_all_files [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_import_all_files)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_update_full_dimension_tables(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_full_dimension_tables [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_update_full_dimension_tables()
+    # divi_service.full_update_dimension_tables()
+    ecdc_service.task_admin_update_full_dimension_tables()
+    owid_service.task_admin_update_full_dimension_tables()
+    rki_vaccination_service.task_admin_update_full_dimension_tables()
+    # rki_service_bundeslaender.full_update_dimension_tables()
+    # rki_service_landkreise.full_update_dimension_tables()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_full_dimension_tables [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_update_full_dimension_tables)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_update_dimension_tables(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_dimension_tables_only [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_update_dimension_tables()
+    # divi_service.update_dimension_tables_only()
+    ecdc_service.task_admin_update_dimension_tables()
+    owid_service.task_admin_update_dimension_tables()
+    rki_vaccination_service.task_admin_update_dimension_tables()
+    # rki_service_bundeslaender.update_dimension_tables_only()
+    # rki_service_landkreise.update_dimension_tables_only()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_dimension_tables_only [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_update_dimension_tables_only)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_full_update_fact_table(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_fact_table_initial_only [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_full_update_fact_table()
+    # divi_service.full_update_fact_table()
+    ecdc_service.task_admin_full_update_fact_table()
+    owid_service.task_admin_full_update_fact_table()
+    rki_vaccination_service.task_admin_full_update_fact_table()
+    # rki_service_bundeslaender.update_fact_table_initial_only()
+    # rki_service_landkreise.update_fact_table_initial_only()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_fact_table_initial_only [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_update_fact_table_initial_only)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_update_fact_table(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_fact_table_incremental_only [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_update_fact_table()
+    # divi_service.task_admin_update_fact_table()
+    ecdc_service.task_admin_update_fact_table()
+    owid_service.task_admin_update_fact_table()
+    rki_vaccination_service.task_admin_update_fact_table()
+    # rki_service_bundeslaender.task_admin_update_fact_table()
+    # rki_service_landkreise.task_admin_update_fact_table()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_fact_table_incremental_only [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_update_fact_table_incremental_only)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_full_update_star_schema(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_star_schema_initial [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_full_update_star_schema()
+    # divi_service.task_admin_full_update_star_schema()
+    ecdc_service.task_admin_full_update_star_schema()
+    owid_service.task_admin_full_update_star_schema()
+    rki_vaccination_service.task_admin_full_update_star_schema()
+    # rki_service_bundeslaender.task_admin_full_update_star_schema()
+    # rki_service_landkreise.task_admin_full_update_star_schema()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_star_schema_initial [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_update_star_schema_initial)"
+    return result
+
+
+@celery.task(bind=True)
+def task_admin_update_star_schema(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_star_schema_incremental [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_admin_update_star_schema()
+    # divi_service.task_admin_update_star_schema()
+    ecdc_service.task_admin_update_star_schema()
+    owid_service.task_admin_update_star_schema()
+    rki_vaccination_service.task_admin_update_star_schema()
+    # rki_service_bundeslaender.task_admin_update_star_schema()
+    # rki_service_landkreise.task_admin_update_star_schema()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_update_star_schema_incremental [done] ")
+    logger.info("------------------------------------------------------------")
+    self.update_state(state=states.SUCCESS)
+    result = "OK (task_admin_update_star_schema_incremental)"
+    return result
+
+# ----------------------------------------------------------------------------------------------------------------
+#  URL Routes for Celery TASKS
+# ----------------------------------------------------------------------------------------------------------------
+
+
+@app_admin.route('/task/alive_message')
+def url_task_admin_alive_message():
+    app.logger.info("url_task_admin_message_start [start]")
+    task_admin_alive_message.apply_async()
+    flash("alive_message_task started")
+    app.logger.info("url_task_admin_message_start [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/database/dump')
+def url_task_admin_database_dump():
+    app.logger.info("url_task_admin_database_dump [start]")
+    admin_service.run_admin_database_dump()
+    flash("admin_service.run_admin_database_dump started")
+    app.logger.info("url_task_admin_database_dump [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/database/reimport')
+def url_task_admin_database_dump_reimport():
+    app.logger.info("url_task_admin_database_dump_reimport [start]")
+    admin_service.run_admin_database_dump_reimport()
+    flash("admin_service.run_admin_database_import started")
+    app.logger.info("url_task_admin_database_dump_reimport [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/database/drop_create')
+def url_task_admin_database_dropcreate():
+    app.logger.info("url_task_admin_database_dropcreate [start]")
+    admin_service.run_admin_database_drop_and_create()
+    flash("admin_service.run_admin_database_drop started")
+    app.logger.info("url_task_admin_database_dropcreate [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/database/drop')
+def url_task_admin_database_drop():
+    flash("url_task_admin_database_drop [start]")
+    app.logger.info("admin_service.run_admin_database_drop_and_create [start]")
+    admin_service.run_admin_database_drop_and_create()
+    flash("admin_service.run_admin_database_drop_and_create() [done]")
+    app.logger.info("admin_service.run_admin_database_drop_and_create() [done]")
+    if drop_and_create_data_again:
+        who_service.pretask_database_drop_create()
+        # divi_service.pretask_database_drop_create()
+        ecdc_service.pretask_database_drop_create()
+        owid_service.pretask_database_drop_create()
+        rki_vaccination_service.pretask_database_drop_create()
+        # rki_service_bundeslaender.pretask_database_drop_create()
+        # rki_service_landkreise.pretask_database_drop_create()
+        task_admin_database_drop_create.apply_async()
+        flash(message="async task_admin_database_drop_create [start]", category="warning")
+        app.logger.warn("async task_admin_database_drop_create [start]")
+    app.logger.info("url_task_admin_database_drop [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/files/all/download')
+def url_task_admin_download_all_files():
+    app.logger.info("url_task_admin_download_all_files [start]")
+    who_service.download_all_files()
+    divi_service.download_all_files()
+    ecdc_service.download_all_files()
+    owid_service.download_all_files()
+    rki_vaccination_service.download_all_files()
+    rki_service.download_all_files()
+    app.logger.info("url_task_admin_download_all_files [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/files/all/import')
+def url_task_admin_import_all_files():
+    app.logger.info("url_task_admin_import_all_files [start]")
+    task_admin_import_all_files.apply_async()
+    flash(message="async url_task_admin_import_all_files [start]", category="warning")
+    app.logger.warn("async url_task_admin_import_all_files [start]")
+    app.logger.info("url_task_admin_import_all_files [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/update/all/dimension_tables')
+def url_task_admin_update_dimension_tables():
+    app.logger.info("url_task_admin_update_dimension_tables [start]")
+    task_admin_update_dimension_tables.apply_async()
+    flash(message="async task_admin_update_dimension_tables [start]", category="warning")
+    app.logger.warn("async task_admin_update_dimension_tables [start]")
+    app.logger.info("url_task_admin_update_dimension_tables [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/full/update/all/dimension_tables')
+def url_task_admin_update_full_dimension_tables():
+    app.logger.info("url_task_admin_update_full_dimension_tables [start]")
+    task_admin_update_full_dimension_tables.apply_async()
+    flash(message="async task_admin_update_full_dimension_tables [start]", category="warning")
+    app.logger.warn("async task_admin_update_full_dimension_tables [start]")
+    app.logger.info("url_task_admin_update_full_dimension_tables [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/full/update/all/fact_tables')
+def url_task_admin_full_update_fact_table():
+    app.logger.info("url_task_admin_full_update_fact_table [start]")
+    task_admin_full_update_fact_table.apply_async()
+    flash(message="async task_admin_full_update_fact_table [start]", category="warning")
+    app.logger.warn("async task_admin_full_update_fact_table [start]")
+    app.logger.info("url_task_admin_full_update_fact_table [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/update/all/fact_tables')
+def url_task_admin_update_fact_table():
+    app.logger.info("url_task_admin_update_fact_table [start]")
+    task_admin_update_fact_table.apply_async()
+    flash(message="async task_admin_update_fact_table [start]", category="warning")
+    app.logger.warn("async task_admin_update_fact_table [start]")
+    app.logger.info("url_task_admin_update_fact_table [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/full/update/star_schema')
+def url_task_admin_full_update_star_schema():
+    app.logger.info("url_task_admin_full_update_star_schema [start]")
+    task_admin_full_update_star_schema.apply_async()
+    flash(message="async task_admin_full_update_star_schema [start]", category="warning")
+    app.logger.warn("async task_admin_full_update_star_schema [start]")
+    app.logger.info("url_task_admin_full_update_star_schema [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/update/star_schema')
+def url_task_admin_update_star_schema():
+    app.logger.info("url_task_admin_update_star_schema [start]")
+    task_admin_update_star_schema.apply_async()
+    flash(message="async task_admin_update_star_schema [start]", category="warning")
+    app.logger.warn("async task_admin_update_star_schema [start]")
+    app.logger.info("url_task_admin_update_star_schema [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
+
+
+@app_admin.route('/task/full/update/do/all')
+def url_task_admin_full_update_do_all():
+    app.logger.info("url_task_admin_full_update_do_all [start]")
+    who_service.download_files()
+    flash("who_service.download_files() [done]")
+    # divi_service.download_files()
+    flash("divi_service.download_files() [done]")
+    ecdc_service.download_all_files()
+    flash("ecdc_service.download_all_files() [done]")
+    owid_service.download_all_files()
+    flash("owid_service.download_all_files() [done]")
+    rki_vaccination_service.download_all_files()
+    flash("rki_vaccination_service.download_all_files() [done]")
+    rki_service.download_all_files()
+    flash("rki_service_bundeslaender.download_all_files() [done]")
+    task_admin_full_update_star_schema.apply_async()
+    flash(message="async task_admin_full_update_star_schema [start]", category="warning")
+    app.logger.warn("async task_admin_full_update_star_schema [start]")
+    app.logger.info("url_task_admin_full_update_do_all [done]")
+    return redirect(url_for('app_admin.url_admin_tasks'))
diff --git a/src/covid19/blueprints/app_admin/templates/admin/admin_info.html b/src/covid19/blueprints/app_admin/templates/app_admin/admin_info.html
similarity index 52%
rename from src/covid19/blueprints/app_admin/templates/admin/admin_info.html
rename to src/covid19/blueprints/app_admin/templates/app_admin/admin_info.html
index f534ae42..013f4ab5 100644
--- a/src/covid19/blueprints/app_admin/templates/admin/admin_info.html
+++ b/src/covid19/blueprints/app_admin/templates/app_admin/admin_info.html
@@ -1,8 +1,8 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
-    {% include 'admin/navigation/admin_navtabs.html' %}
+    {% include 'app_admin/navigation/app_admin_navtabs.html' %}
 
     <div class="container">
         <div class="row">
diff --git a/src/covid19/blueprints/app_admin/templates/admin/system_tasks.html b/src/covid19/blueprints/app_admin/templates/app_admin/admin_tasks.html
similarity index 95%
rename from src/covid19/blueprints/app_admin/templates/admin/system_tasks.html
rename to src/covid19/blueprints/app_admin/templates/app_admin/admin_tasks.html
index a1c56d40..837bc4a3 100644
--- a/src/covid19/blueprints/app_admin/templates/admin/system_tasks.html
+++ b/src/covid19/blueprints/app_admin/templates/app_admin/admin_tasks.html
@@ -1,8 +1,8 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
-    {% include 'admin/navigation/admin_navtabs.html' %}
+    {% include 'app_admin/navigation/app_admin_navtabs.html' %}
 
     <div class="container">
         <div class="row">
diff --git a/src/covid19/blueprints/app_admin/templates/admin/index.html b/src/covid19/blueprints/app_admin/templates/app_admin/index.html
similarity index 93%
rename from src/covid19/blueprints/app_admin/templates/admin/index.html
rename to src/covid19/blueprints/app_admin/templates/app_admin/index.html
index 62c36d7f..dade2a1e 100644
--- a/src/covid19/blueprints/app_admin/templates/admin/index.html
+++ b/src/covid19/blueprints/app_admin/templates/app_admin/index.html
@@ -1,6 +1,6 @@
-{% extends 'admin/master.html' %}
+{% extends 'app_admin/master.html' %}
 
-    {% include 'admin/navigation/admin_navtabs.html' %}
+    {% include 'app_admin/navigation/app_admin_navtabs.html' %}
     <div class="container">
         <div class="row">
             <div class="col">
diff --git a/src/covid19/blueprints/app_admin/templates/admin/navigation/admin_navbar_dropdown.html b/src/covid19/blueprints/app_admin/templates/app_admin/navigation/app_admin_navbar_dropdown.html
similarity index 100%
rename from src/covid19/blueprints/app_admin/templates/admin/navigation/admin_navbar_dropdown.html
rename to src/covid19/blueprints/app_admin/templates/app_admin/navigation/app_admin_navbar_dropdown.html
diff --git a/src/covid19/blueprints/app_admin/templates/admin/navigation/admin_navtabs.html b/src/covid19/blueprints/app_admin/templates/app_admin/navigation/app_admin_navtabs.html
similarity index 100%
rename from src/covid19/blueprints/app_admin/templates/admin/navigation/admin_navtabs.html
rename to src/covid19/blueprints/app_admin/templates/app_admin/navigation/app_admin_navtabs.html
diff --git a/src/covid19/blueprints/app_application/application_service_config.py b/src/covid19/blueprints/app_all/app_all_service_config.py
similarity index 100%
rename from src/covid19/blueprints/app_application/application_service_config.py
rename to src/covid19/blueprints/app_all/app_all_service_config.py
diff --git a/src/covid19/blueprints/app_application/application_services.py b/src/covid19/blueprints/app_all/app_all_services.py
similarity index 92%
rename from src/covid19/blueprints/app_application/application_services.py
rename to src/covid19/blueprints/app_all/app_all_services.py
index 8e16a67b..a92d58a1 100644
--- a/src/covid19/blueprints/app_application/application_services.py
+++ b/src/covid19/blueprints/app_all/app_all_services.py
@@ -1,6 +1,6 @@
 from database import db
 
-from covid19.blueprints.app_admin.admin_service import AdminService
+from covid19.blueprints.app_admin.app_admin_service import AdminService
 from covid19.blueprints.app_user.user_service import UserService
 from covid19.blueprints.ecdc.ecdc_service import EcdcService
 from covid19.blueprints.owid.owid_service import OwidService
diff --git a/src/covid19/blueprints/app_admin/admin_views.py b/src/covid19/blueprints/app_all/app_all_views.py
similarity index 97%
rename from src/covid19/blueprints/app_admin/admin_views.py
rename to src/covid19/blueprints/app_all/app_all_views.py
index 60fb8f20..3d560be0 100644
--- a/src/covid19/blueprints/app_admin/admin_views.py
+++ b/src/covid19/blueprints/app_all/app_all_views.py
@@ -3,11 +3,11 @@ from celery import states
 from celery.utils.log import get_task_logger
 
 from database import app
-from covid19.blueprints.application.application_services import who_service, ecdc_service, rki_vaccination_service
-from covid19.blueprints.application.application_services import rki_service
-from covid19.blueprints.application.application_services import admin_service, owid_service, divi_service
-from covid19.blueprints.application.application_workers import celery
-from covid19.blueprints.application.application_model_transient import ApplicationPage
+from covid19.blueprints.app_all.app_all_services import who_service, ecdc_service, rki_vaccination_service
+from covid19.blueprints.app_all.app_all_services import rki_service
+from covid19.blueprints.app_all.app_all_services import admin_service, owid_service, divi_service
+from covid19.blueprints.app_application.application_workers import celery
+from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 
 drop_and_create_data_again = True
 
@@ -22,7 +22,7 @@ app_admin = Blueprint('app_admin', __name__, template_folder='templates', url_pr
 def url_admin_index():
     page_info = ApplicationPage('Admin', "Covid19 Admin")
     return render_template(
-        'admin/index.html',
+        'app_admin/index.html',
         page_info=page_info)
 
 
@@ -30,7 +30,7 @@ def url_admin_index():
 def url_admin_tasks():
     page_info = ApplicationPage('Admin', "Tasks")
     return render_template(
-        'admin/admin_tasks.html',
+        'app_admin/admin_tasks.html',
         page_info=page_info)
 
 
@@ -38,7 +38,7 @@ def url_admin_tasks():
 def url_system_tasks():
     page_info = ApplicationPage('Admin', "System Tasks")
     return render_template(
-        'admin/system_tasks.html',
+        'app_admin/system_tasks.html',
         page_info=page_info)
 
 
@@ -46,7 +46,7 @@ def url_system_tasks():
 def url_admin_info():
     page_info = ApplicationPage('Admin', "Info")
     return render_template(
-        'admin/admin_info.html',
+        'app_admin/admin_info.html',
         page_info=page_info)
 
 
diff --git a/src/covid19/blueprints/app_all/templates/__init__.py b/src/covid19/blueprints/app_all/templates/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/covid19/blueprints/app_admin/templates/admin/admin_tasks.html b/src/covid19/blueprints/app_all/templates/app_all/app_all_tasks.html
similarity index 97%
rename from src/covid19/blueprints/app_admin/templates/admin/admin_tasks.html
rename to src/covid19/blueprints/app_all/templates/app_all/app_all_tasks.html
index f584470f..6af792e7 100644
--- a/src/covid19/blueprints/app_admin/templates/admin/admin_tasks.html
+++ b/src/covid19/blueprints/app_all/templates/app_all/app_all_tasks.html
@@ -1,8 +1,8 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
-    {% include 'admin/navigation/admin_navtabs.html' %}
+    {% include 'app_admin/navigation/admin_navtabs.html' %}
 
     <div class="container">
         <div class="row">
diff --git a/src/covid19/blueprints/app_application/templates/application/fragments/fragment_flashed_messages.html b/src/covid19/blueprints/app_all/templates/app_all/fragments/fragment_flashed_messages.html
similarity index 100%
rename from src/covid19/blueprints/app_application/templates/application/fragments/fragment_flashed_messages.html
rename to src/covid19/blueprints/app_all/templates/app_all/fragments/fragment_flashed_messages.html
diff --git a/src/covid19/blueprints/app_application/templates/application/fragments/fragment_pagination.html b/src/covid19/blueprints/app_all/templates/app_all/fragments/fragment_pagination.html
similarity index 100%
rename from src/covid19/blueprints/app_application/templates/application/fragments/fragment_pagination.html
rename to src/covid19/blueprints/app_all/templates/app_all/fragments/fragment_pagination.html
diff --git a/src/covid19/blueprints/app_application/templates/application/page_layout.html b/src/covid19/blueprints/app_all/templates/app_all/layout/page_layout.html
similarity index 78%
rename from src/covid19/blueprints/app_application/templates/application/page_layout.html
rename to src/covid19/blueprints/app_all/templates/app_all/layout/page_layout.html
index 61c45d80..9df897c1 100644
--- a/src/covid19/blueprints/app_application/templates/application/page_layout.html
+++ b/src/covid19/blueprints/app_all/templates/app_all/layout/page_layout.html
@@ -13,7 +13,7 @@
 
 
 {% block navbar %}
-  {% include 'application/navigation/navbar.html' %}
+  {% include 'app_application/navigation/navbar.html' %}
 {% endblock %}
 
 {% block content %}
@@ -23,10 +23,10 @@
                 <h1 class="display-3">{{page_info.title}} | <small class="display-4">{{page_info.subtitle}}</small></h1>
             </div>
             <div class="row-cols-1">
-                {% include 'application/fragments/fragment_flashed_messages.html' %}
+                {% include 'app_application/fragments/fragment_flashed_messages.html' %}
             </div>
             <div class="row-cols-1">
-                {% include 'application/navigation/navtabs.html' %}
+                {% include 'app_application/navigation/navtabs.html' %}
             </div>
     </div>
 {% endblock %}
diff --git a/src/covid19/blueprints/app_application/templates/application/page_layout_old.html b/src/covid19/blueprints/app_all/templates/app_all/layout/page_layout_old.html
similarity index 85%
rename from src/covid19/blueprints/app_application/templates/application/page_layout_old.html
rename to src/covid19/blueprints/app_all/templates/app_all/layout/page_layout_old.html
index 7737bfc1..28d8cd92 100644
--- a/src/covid19/blueprints/app_application/templates/application/page_layout_old.html
+++ b/src/covid19/blueprints/app_all/templates/app_all/layout/page_layout_old.html
@@ -11,13 +11,13 @@
 
     <header>
         <div class="container tw_padding">
-            {% include 'application/fragments/fragment_navbar.html' %}
+            {% include 'app_application/fragments/fragment_navbar.html' %}
         </div>
     </header>
 
     <section>
         <div class="container tw_padding">
-            {% include 'application/fragments/fragment_navtabs.html' %}
+            {% include 'app_application/fragments/fragment_navtabs.html' %}
         </div>
         <div class="container">
             {% block navigation_navtabs %}{% endblock %}
@@ -29,7 +29,7 @@
 
     <main>
         <div class="container tw_padding">
-            {% include 'application/fragments/fragment_flashed_messages.html' %}
+            {% include 'app_application/fragments/fragment_flashed_messages.html' %}
         </div>
         <div class="container tw_padding">
             {% block main_container %}{% endblock %}
diff --git a/src/covid19/blueprints/app_application/application_service_download.py b/src/covid19/blueprints/app_application/application_service_download.py
index 475a5bcc..36f7e1ec 100644
--- a/src/covid19/blueprints/app_application/application_service_download.py
+++ b/src/covid19/blueprints/app_application/application_service_download.py
@@ -2,7 +2,7 @@ import os
 import wget
 import subprocess
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.app_all_service_config import ApplicationServiceConfig
 
 
 class ApplicationServiceDownload:
diff --git a/src/covid19/blueprints/app_application/application_views.py b/src/covid19/blueprints/app_application/application_views.py
index f6ebe5f2..eeeef57e 100644
--- a/src/covid19/blueprints/app_application/application_views.py
+++ b/src/covid19/blueprints/app_application/application_views.py
@@ -5,7 +5,7 @@ from covid19.blueprints.app_application.application_model_transient import Appli
 
 
 from covid19.blueprints.app_user.user_views import app_user
-from covid19.blueprints.app_admin.admin_views import app_admin
+from covid19.blueprints.app_admin.app_admin_views import app_admin
 
 from covid19.blueprints.who.who_views import app_who
 from covid19.blueprints.owid.owid_views import app_owid
@@ -50,7 +50,7 @@ app.register_blueprint(app_divi_test, url_prefix='/divi/test')
 def url_home():
     page_info = ApplicationPage('Home', "Covid19 Data")
     return render_template(
-        'application/page_home.html',
+        'app_application/page_home.html',
         page_info=page_info)
 
 
diff --git a/src/covid19/blueprints/app_application/application_workers.py b/src/covid19/blueprints/app_application/application_workers.py
index 7271b868..64fd1c74 100644
--- a/src/covid19/blueprints/app_application/application_workers.py
+++ b/src/covid19/blueprints/app_application/application_workers.py
@@ -1,7 +1,7 @@
 import sys
 from covid19 import app
 from database import create_celery, db
-from covid19.blueprints.app_application.application_services import user_service
+from covid19.blueprints.app_all.application_services import user_service
 from covid19.blueprints.app_application.application_service import ApplicationService
 
 
diff --git a/src/covid19/blueprints/app_application/templates/application/navigation/navbar.html b/src/covid19/blueprints/app_application/templates/app_application/navigation/navbar.html
similarity index 94%
rename from src/covid19/blueprints/app_application/templates/application/navigation/navbar.html
rename to src/covid19/blueprints/app_application/templates/app_application/navigation/navbar.html
index 4543ec38..a0885f59 100644
--- a/src/covid19/blueprints/app_application/templates/application/navigation/navbar.html
+++ b/src/covid19/blueprints/app_application/templates/app_application/navigation/navbar.html
@@ -28,7 +28,7 @@
 
                     {% include 'usr/navigation/usr_navbar_dropdown.html' %}
 
-                    {% include 'admin/navigation/admin_navbar_dropdown.html' %}
+                    {% include 'app_admin/navigation/admin_navbar_dropdown.html' %}
 
                 </ul>
             </div>
diff --git a/src/covid19/blueprints/app_application/templates/application/navigation/navtabs.html b/src/covid19/blueprints/app_application/templates/app_application/navigation/navtabs.html
similarity index 100%
rename from src/covid19/blueprints/app_application/templates/application/navigation/navtabs.html
rename to src/covid19/blueprints/app_application/templates/app_application/navigation/navtabs.html
diff --git a/src/covid19/blueprints/app_application/templates/application/page_home.html b/src/covid19/blueprints/app_application/templates/app_application/page_home.html
similarity index 77%
rename from src/covid19/blueprints/app_application/templates/application/page_home.html
rename to src/covid19/blueprints/app_application/templates/app_application/page_home.html
index 2c42f67b..aba6ed36 100644
--- a/src/covid19/blueprints/app_application/templates/application/page_home.html
+++ b/src/covid19/blueprints/app_application/templates/app_application/page_home.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/app_user/templates/usr/login.html b/src/covid19/blueprints/app_user/templates/usr/login.html
index cba0f3dc..e6573c29 100644
--- a/src/covid19/blueprints/app_user/templates/usr/login.html
+++ b/src/covid19/blueprints/app_user/templates/usr/login.html
@@ -1,5 +1,4 @@
-{% extends 'application/page_layout.html' %}
-
+{% extends 'app_all/layout/page_layout.html' %}
 {% block content %}
     {{super()}}
     {% include 'usr/navigation/usr_navtabs.html' %}
diff --git a/src/covid19/blueprints/app_user/templates/usr/profile.html b/src/covid19/blueprints/app_user/templates/usr/profile.html
index dbcf3c51..202fa8fa 100644
--- a/src/covid19/blueprints/app_user/templates/usr/profile.html
+++ b/src/covid19/blueprints/app_user/templates/usr/profile.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/app_user/templates/usr/user_info.html b/src/covid19/blueprints/app_user/templates/usr/user_info.html
index 66af388f..6bf18411 100644
--- a/src/covid19/blueprints/app_user/templates/usr/user_info.html
+++ b/src/covid19/blueprints/app_user/templates/usr/user_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/app_user/templates/usr/user_tasks.html b/src/covid19/blueprints/app_user/templates/usr/user_tasks.html
index 868afa3c..55d5a8d7 100644
--- a/src/covid19/blueprints/app_user/templates/usr/user_tasks.html
+++ b/src/covid19/blueprints/app_user/templates/usr/user_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/ecdc_service.py b/src/covid19/blueprints/ecdc/ecdc_service.py
index b7fff19f..8502de8e 100644
--- a/src/covid19/blueprints/ecdc/ecdc_service.py
+++ b/src/covid19/blueprints/ecdc/ecdc_service.py
@@ -1,7 +1,5 @@
-from flask import flash
-
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.app_application.application_service_download import ApplicationServiceDownload
 from covid19.blueprints.ecdc.ecdc_service_import import EcdcServiceImport
 from covid19.blueprints.ecdc.ecdc_service_update import EcdcServiceUpdate, EcdcServiceUpdateFull
diff --git a/src/covid19/blueprints/ecdc/ecdc_service_import.py b/src/covid19/blueprints/ecdc/ecdc_service_import.py
index e94e57fc..c96d0edd 100644
--- a/src/covid19/blueprints/ecdc/ecdc_service_import.py
+++ b/src/covid19/blueprints/ecdc/ecdc_service_import.py
@@ -2,7 +2,7 @@ import csv
 import psycopg2
 
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.ecdc.ecdc_model_import import EcdcImport
 
 
diff --git a/src/covid19/blueprints/ecdc/ecdc_service_update.py b/src/covid19/blueprints/ecdc/ecdc_service_update.py
index 9645c495..8763df61 100644
--- a/src/covid19/blueprints/ecdc/ecdc_service_update.py
+++ b/src/covid19/blueprints/ecdc/ecdc_service_update.py
@@ -1,5 +1,5 @@
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.ecdc.ecdc_model_import import EcdcImport
 from covid19.blueprints.ecdc.ecdc_model import EcdcDateReported, EcdcContinent, EcdcCountry, EcdcData
 
diff --git a/src/covid19/blueprints/ecdc/ecdc_views.py b/src/covid19/blueprints/ecdc/ecdc_views.py
index dcb12ea2..b7bb2c4c 100644
--- a/src/covid19/blueprints/ecdc/ecdc_views.py
+++ b/src/covid19/blueprints/ecdc/ecdc_views.py
@@ -4,7 +4,7 @@ from celery.utils.log import get_task_logger
 from flask_admin.contrib.sqla import ModelView
 
 from database import admin, db
-from covid19.blueprints.app_application.application_services import ecdc_service
+from covid19.blueprints.app_all.application_services import ecdc_service
 from covid19.blueprints.app_application.application_workers import celery
 
 from covid19.blueprints.ecdc.ecdc_model_import import EcdcImport
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_all.html b/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_all.html
index e95a022b..9c6a3ef0 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_all.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_one.html b/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_one.html
index c49b6f3b..ed59eac0 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_one.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/continent/ecdc_continent_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_all.html b/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_all.html
index ca07d13d..63896db9 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_all.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_germany.html b/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_germany.html
index 61bbe32e..4351ad7b 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_germany.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_germany.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_one.html b/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_one.html
index b15f0c55..b127074a 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_one.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/country/ecdc_country_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_all.html b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_all.html
index f1ab8fb0..c921e50a 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_all.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one.html b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one.html
index 6c49dcec..cf5921bf 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_cases_weekly.html b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_cases_weekly.html
index 7201c1db..4ed4ee06 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_cases_weekly.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_cases_weekly.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_deaths_weekly.html b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_deaths_weekly.html
index 3f64c59b..7ef122bf 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_deaths_weekly.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_deaths_weekly.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_notification_rate.html b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_notification_rate.html
index cba64690..49105eb5 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_notification_rate.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/date_reported/ecdc_date_reported_one_notification_rate.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_data/ecdc_data.html b/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_data/ecdc_data.html
index bbfcd08a..a016198c 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_data/ecdc_data.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_data/ecdc_data.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_info.html b/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_info.html
index 4b5230ad..6a880552 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_info.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_tasks.html b/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_tasks.html
index c29e4bcc..988729e8 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_tasks.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/ecdc_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc/templates/ecdc/imported/ecdc_imported.html b/src/covid19/blueprints/ecdc/templates/ecdc/imported/ecdc_imported.html
index 157df00e..0b25be87 100644
--- a/src/covid19/blueprints/ecdc/templates/ecdc/imported/ecdc_imported.html
+++ b/src/covid19/blueprints/ecdc/templates/ecdc/imported/ecdc_imported.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/ecdc_test/ecdc_test_service.py b/src/covid19/blueprints/ecdc_test/ecdc_test_service.py
index 0311658e..44176163 100644
--- a/src/covid19/blueprints/ecdc_test/ecdc_test_service.py
+++ b/src/covid19/blueprints/ecdc_test/ecdc_test_service.py
@@ -1,6 +1,6 @@
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
-from covid19.blueprints.ecdc.ecdc_model import EcdcDateReported, EcdcContinent, EcdcCountry, EcdcData
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.ecdc.ecdc_model import EcdcDateReported, EcdcData
 
 
 class EcdcTestService:
diff --git a/src/covid19/blueprints/ecdc_test/ecdc_test_views.py b/src/covid19/blueprints/ecdc_test/ecdc_test_views.py
index bad1e9fa..80d7c4ec 100644
--- a/src/covid19/blueprints/ecdc_test/ecdc_test_views.py
+++ b/src/covid19/blueprints/ecdc_test/ecdc_test_views.py
@@ -4,12 +4,11 @@ from celery.utils.log import get_task_logger
 from flask_login import login_required
 
 from database import app, db
-from covid19.blueprints.app_application.application_services import ecdc_service
+from covid19.blueprints.app_all.application_services import ecdc_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 
 from covid19.blueprints.ecdc.ecdc_model_import import EcdcImport
-from covid19.blueprints.ecdc.ecdc_model import EcdcData
 from covid19.blueprints.ecdc_test.ecdc_test_service import EcdcTestService
 
 ecdc_test_service = EcdcTestService(db, ecdc_service)
diff --git a/src/covid19/blueprints/ecdc_test/templates/ecdc_test/ecdc_tests.html b/src/covid19/blueprints/ecdc_test/templates/ecdc_test/ecdc_tests.html
index 02b829d4..d153c964 100644
--- a/src/covid19/blueprints/ecdc_test/templates/ecdc_test/ecdc_tests.html
+++ b/src/covid19/blueprints/ecdc_test/templates/ecdc_test/ecdc_tests.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/divi_service.py b/src/covid19/blueprints/intensivregister/divi_service.py
index 055d405e..355e6e28 100644
--- a/src/covid19/blueprints/intensivregister/divi_service.py
+++ b/src/covid19/blueprints/intensivregister/divi_service.py
@@ -1,7 +1,7 @@
 from flask import flash
 
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.app_application.application_service_download import ApplicationServiceDownload
 from covid19.blueprints.intensivregister.divi_service_import import DiviServiceImport
 from covid19.blueprints.intensivregister.divi_service_update import DiviServiceUpdate
diff --git a/src/covid19/blueprints/intensivregister/divi_service_import.py b/src/covid19/blueprints/intensivregister/divi_service_import.py
index a1b0554c..38ab009d 100644
--- a/src/covid19/blueprints/intensivregister/divi_service_import.py
+++ b/src/covid19/blueprints/intensivregister/divi_service_import.py
@@ -3,7 +3,7 @@ import csv
 import psycopg2
 
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.intensivregister.divi_model_import import DiviImport
 
 
diff --git a/src/covid19/blueprints/intensivregister/divi_service_update.py b/src/covid19/blueprints/intensivregister/divi_service_update.py
index 356b7aea..6433d077 100644
--- a/src/covid19/blueprints/intensivregister/divi_service_update.py
+++ b/src/covid19/blueprints/intensivregister/divi_service_update.py
@@ -1,5 +1,5 @@
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 
 from covid19.blueprints.intensivregister.divi_model import DiviRegion, DiviDateReported, DiviCountry, DiviData
 from covid19.blueprints.intensivregister.divi_model_import import DiviImport
diff --git a/src/covid19/blueprints/intensivregister/divi_views.py b/src/covid19/blueprints/intensivregister/divi_views.py
index 7a79d949..a88be68a 100644
--- a/src/covid19/blueprints/intensivregister/divi_views.py
+++ b/src/covid19/blueprints/intensivregister/divi_views.py
@@ -6,7 +6,7 @@ from flask_admin.contrib.sqla import ModelView
 from flask_login import login_required
 
 from database import app, admin, db
-from covid19.blueprints.app_application.application_services import divi_service
+from covid19.blueprints.app_all.application_services import divi_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_all.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_all.html
index 4cf33bb1..d1606608 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_all.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_germany.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_germany.html
index 2ed20c2c..04acdf38 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_germany.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_germany.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one.html
index 2df75599..c934a4f3 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_cumulative.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_cumulative.html
index 52ffbeb0..1c8a52b2 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_cumulative.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_new.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_new.html
index 2de05893..e31a1da5 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_new.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_cases_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_cumulative.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_cumulative.html
index 204f2135..5daf192c 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_cumulative.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_new.html b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_new.html
index 843cbfec..c53bc325 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_new.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/country/divi_country_one_deaths_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_all.html b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_all.html
index fb27e464..66a6033a 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_all.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one.html b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one.html
index ca967bda..3be2ef22 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_cumulative.html b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_cumulative.html
index a5a52426..c5cb0a45 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_cumulative.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_new.html b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_new.html
index ca967bda..3be2ef22 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_new.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_cases_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_cumulative.html b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_cumulative.html
index f296b137..a094ea99 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_cumulative.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_new.html b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_new.html
index 3e5b2332..344c6379 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_new.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/date_reported/divi_date_reported_one_deaths_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/divi_imported.html b/src/covid19/blueprints/intensivregister/templates/divi/divi_imported.html
index 8dbdc546..f66e697d 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/divi_imported.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/divi_imported.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/divi_info.html b/src/covid19/blueprints/intensivregister/templates/divi/divi_info.html
index a4dc0e5c..c35eb645 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/divi_info.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/divi_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/divi_tasks.html b/src/covid19/blueprints/intensivregister/templates/divi/divi_tasks.html
index de4351b7..624ae701 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/divi_tasks.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/divi_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_all.html b/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_all.html
index 54bb8dc1..c8fb5606 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_all.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_one.html b/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_one.html
index 1847e5d5..6fbef296 100644
--- a/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_one.html
+++ b/src/covid19/blueprints/intensivregister/templates/divi/region/divi_region_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/intensivregister_test/divi_test_service.py b/src/covid19/blueprints/intensivregister_test/divi_test_service.py
index 61f0c60b..9a25242e 100644
--- a/src/covid19/blueprints/intensivregister_test/divi_test_service.py
+++ b/src/covid19/blueprints/intensivregister_test/divi_test_service.py
@@ -1,5 +1,5 @@
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.intensivregister.divi_model import DiviDateReported, DiviData
 
 
diff --git a/src/covid19/blueprints/intensivregister_test/divi_test_views.py b/src/covid19/blueprints/intensivregister_test/divi_test_views.py
index 05c8e57e..17851429 100644
--- a/src/covid19/blueprints/intensivregister_test/divi_test_views.py
+++ b/src/covid19/blueprints/intensivregister_test/divi_test_views.py
@@ -4,7 +4,7 @@ from celery.utils.log import get_task_logger
 from flask_login import login_required
 
 from database import app, db
-from covid19.blueprints.app_application.application_services import divi_service
+from covid19.blueprints.app_all.application_services import divi_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 
diff --git a/src/covid19/blueprints/intensivregister_test/templates/divi_test/divi_tests.html b/src/covid19/blueprints/intensivregister_test/templates/divi_test/divi_tests.html
index cdbd748e..9939e3aa 100644
--- a/src/covid19/blueprints/intensivregister_test/templates/divi_test/divi_tests.html
+++ b/src/covid19/blueprints/intensivregister_test/templates/divi_test/divi_tests.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/owid_service.py b/src/covid19/blueprints/owid/owid_service.py
index 7b85cd49..628e6900 100644
--- a/src/covid19/blueprints/owid/owid_service.py
+++ b/src/covid19/blueprints/owid/owid_service.py
@@ -2,7 +2,7 @@ from flask import flash
 
 from database import app
 
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.app_application.application_service_download import ApplicationServiceDownload
 from covid19.blueprints.owid.owid_service_import import OwidServiceImport
 from covid19.blueprints.owid.owid_service_update import OwidServiceUpdate, OwidServiceUpdateFull
diff --git a/src/covid19/blueprints/owid/owid_service_import.py b/src/covid19/blueprints/owid/owid_service_import.py
index 06ee57ba..d3db3e36 100644
--- a/src/covid19/blueprints/owid/owid_service_import.py
+++ b/src/covid19/blueprints/owid/owid_service_import.py
@@ -1,7 +1,7 @@
 import csv
 import psycopg2
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.owid.owid_model_import import OwidImport
 
 
diff --git a/src/covid19/blueprints/owid/owid_service_update.py b/src/covid19/blueprints/owid/owid_service_update.py
index 9b7500e4..12b57e35 100644
--- a/src/covid19/blueprints/owid/owid_service_update.py
+++ b/src/covid19/blueprints/owid/owid_service_update.py
@@ -1,5 +1,5 @@
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.owid.owid_model import OwidDateReported, OwidData, OwidContinent, OwidCountry
 from covid19.blueprints.owid.owid_model_import import OwidImport
 
diff --git a/src/covid19/blueprints/owid/owid_views.py b/src/covid19/blueprints/owid/owid_views.py
index e7af48d6..fb956857 100644
--- a/src/covid19/blueprints/owid/owid_views.py
+++ b/src/covid19/blueprints/owid/owid_views.py
@@ -5,7 +5,7 @@ from celery.utils.log import get_task_logger
 from flask_admin.contrib.sqla import ModelView
 
 from database import app, admin, db
-from covid19.blueprints.app_application.application_services import owid_service
+from covid19.blueprints.app_all.application_services import owid_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 from covid19.blueprints.owid.owid_model import OwidDateReported, OwidData, OwidContinent, OwidCountry
diff --git a/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_all.html b/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_all.html
index 3137b1ec..2c9b9e25 100644
--- a/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_all.html
+++ b/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_one.html b/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_one.html
index 96ccd639..920ae7c0 100644
--- a/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_one.html
+++ b/src/covid19/blueprints/owid/templates/owid/continent/owid_continent_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/country/owid_country_all.html b/src/covid19/blueprints/owid/templates/owid/country/owid_country_all.html
index a7cddc47..1cdeaa50 100644
--- a/src/covid19/blueprints/owid/templates/owid/country/owid_country_all.html
+++ b/src/covid19/blueprints/owid/templates/owid/country/owid_country_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/country/owid_country_one.html b/src/covid19/blueprints/owid/templates/owid/country/owid_country_one.html
index d1e72c22..c887d07a 100644
--- a/src/covid19/blueprints/owid/templates/owid/country/owid_country_one.html
+++ b/src/covid19/blueprints/owid/templates/owid/country/owid_country_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/country/owid_country_one_germany.html b/src/covid19/blueprints/owid/templates/owid/country/owid_country_one_germany.html
index d1e72c22..c887d07a 100644
--- a/src/covid19/blueprints/owid/templates/owid/country/owid_country_one_germany.html
+++ b/src/covid19/blueprints/owid/templates/owid/country/owid_country_one_germany.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_all.html b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_all.html
index fca14b60..0aed2c78 100644
--- a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_all.html
+++ b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one.html b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one.html
index 507a19cd..acb65e7b 100644
--- a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one.html
+++ b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_cumulative.html b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_cumulative.html
index 9936b1d3..ce4ce69e 100644
--- a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_cumulative.html
+++ b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_new.html b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_new.html
index 2c1b5ff2..695ca9fa 100644
--- a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_new.html
+++ b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_cases_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_cumulative.html b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_cumulative.html
index e0c793f4..8e10d550 100644
--- a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_cumulative.html
+++ b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_new.html b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_new.html
index 6cbae917..6362c561 100644
--- a/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_new.html
+++ b/src/covid19/blueprints/owid/templates/owid/date_reported/owid_date_reported_one_deaths_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/imported/owid_imported.html b/src/covid19/blueprints/owid/templates/owid/imported/owid_imported.html
index 0422eb7d..5d798638 100644
--- a/src/covid19/blueprints/owid/templates/owid/imported/owid_imported.html
+++ b/src/covid19/blueprints/owid/templates/owid/imported/owid_imported.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/owid_info.html b/src/covid19/blueprints/owid/templates/owid/owid_info.html
index dd71fb64..758426d9 100644
--- a/src/covid19/blueprints/owid/templates/owid/owid_info.html
+++ b/src/covid19/blueprints/owid/templates/owid/owid_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid/templates/owid/owid_tasks.html b/src/covid19/blueprints/owid/templates/owid/owid_tasks.html
index 86e252b4..119707fa 100644
--- a/src/covid19/blueprints/owid/templates/owid/owid_tasks.html
+++ b/src/covid19/blueprints/owid/templates/owid/owid_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/owid_test/owid_test_service.py b/src/covid19/blueprints/owid_test/owid_test_service.py
index 03ef32e2..465ca34b 100644
--- a/src/covid19/blueprints/owid_test/owid_test_service.py
+++ b/src/covid19/blueprints/owid_test/owid_test_service.py
@@ -1,5 +1,5 @@
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.owid.owid_model import OwidDateReported, OwidData, OwidContinent, OwidCountry
 from covid19.blueprints.owid.owid_model_import import OwidImport
 
diff --git a/src/covid19/blueprints/owid_test/owid_test_views.py b/src/covid19/blueprints/owid_test/owid_test_views.py
index 1baaa00a..6af48791 100644
--- a/src/covid19/blueprints/owid_test/owid_test_views.py
+++ b/src/covid19/blueprints/owid_test/owid_test_views.py
@@ -4,7 +4,7 @@ from celery.utils.log import get_task_logger
 from flask_login import login_required
 
 from database import app, db
-from covid19.blueprints.app_application.application_services import owid_service
+from covid19.blueprints.app_all.application_services import owid_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.owid.owid_model import OwidData
 from covid19.blueprints.owid.owid_model_import import OwidImport
diff --git a/src/covid19/blueprints/owid_test/templates/owid_test/owid_tests.html b/src/covid19/blueprints/owid_test/templates/owid_test/owid_tests.html
index d62ca781..d12f7a5a 100644
--- a/src/covid19/blueprints/owid_test/templates/owid_test/owid_tests.html
+++ b/src/covid19/blueprints/owid_test/templates/owid_test/owid_tests.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_cases/templates/rki/date_reported/rki_date_reported_all.html b/src/covid19/blueprints/rki_cases/templates/rki/date_reported/rki_date_reported_all.html
index 26dd7e09..9a9aea1b 100644
--- a/src/covid19/blueprints/rki_cases/templates/rki/date_reported/rki_date_reported_all.html
+++ b/src/covid19/blueprints/rki_cases/templates/rki/date_reported/rki_date_reported_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_cases/templates/rki/rki_imported.html b/src/covid19/blueprints/rki_cases/templates/rki/rki_imported.html
index ec6288f3..05226507 100644
--- a/src/covid19/blueprints/rki_cases/templates/rki/rki_imported.html
+++ b/src/covid19/blueprints/rki_cases/templates/rki/rki_imported.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_cases/templates/rki/rki_info.html b/src/covid19/blueprints/rki_cases/templates/rki/rki_info.html
index 375d17ff..57220a28 100644
--- a/src/covid19/blueprints/rki_cases/templates/rki/rki_info.html
+++ b/src/covid19/blueprints/rki_cases/templates/rki/rki_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_cases/templates/rki/rki_tasks.html b/src/covid19/blueprints/rki_cases/templates/rki/rki_tasks.html
index fe5455d5..c3047e4c 100644
--- a/src/covid19/blueprints/rki_cases/templates/rki/rki_tasks.html
+++ b/src/covid19/blueprints/rki_cases/templates/rki/rki_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_cases/templates/rki/rki_test.html b/src/covid19/blueprints/rki_cases/templates/rki/rki_test.html
index b23ba56a..40096871 100644
--- a/src/covid19/blueprints/rki_cases/templates/rki/rki_test.html
+++ b/src/covid19/blueprints/rki_cases/templates/rki/rki_test.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_cases_test/templates/rki_test/rki_tests.html b/src/covid19/blueprints/rki_cases_test/templates/rki_test/rki_tests.html
index c677f7b6..f2a4cef6 100644
--- a/src/covid19/blueprints/rki_cases_test/templates/rki_test/rki_tests.html
+++ b/src/covid19/blueprints/rki_cases_test/templates/rki_test/rki_tests.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/data/rki_vaccination_data.html b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/data/rki_vaccination_data.html
index 6d83a2a8..fa98cfb0 100644
--- a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/data/rki_vaccination_data.html
+++ b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/data/rki_vaccination_data.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/imported/rki_vaccination_imported.html b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/imported/rki_vaccination_imported.html
index 45878b35..bbc31fa6 100644
--- a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/imported/rki_vaccination_imported.html
+++ b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/imported/rki_vaccination_imported.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_info.html b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_info.html
index 7d35cfe4..49a05a0d 100644
--- a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_info.html
+++ b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_tasks.html b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_tasks.html
index 0aac4838..1cafc7b2 100644
--- a/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_tasks.html
+++ b/src/covid19/blueprints/rki_vaccination/templates/rki_vaccination/rki_vaccination_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_all.html b/src/covid19/blueprints/who/templates/who/country/who_country_all.html
index da3c31d7..16e96b59 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_all.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_germany.html b/src/covid19/blueprints/who/templates/who/country/who_country_germany.html
index cd4675fa..9d4c773c 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_germany.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_germany.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_one.html b/src/covid19/blueprints/who/templates/who/country/who_country_one.html
index 7f61469f..f7741b24 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_one.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_cumulative.html b/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_cumulative.html
index 5aae35be..50d80b1e 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_cumulative.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_new.html b/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_new.html
index a522b64c..f817671e 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_new.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_one_cases_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_cumulative.html b/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_cumulative.html
index d55e49fc..50b4fd43 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_cumulative.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_new.html b/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_new.html
index 6a771b79..81d1adf9 100644
--- a/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_new.html
+++ b/src/covid19/blueprints/who/templates/who/country/who_country_one_deaths_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_all.html b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_all.html
index eea1d5da..f4d16f2f 100644
--- a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_all.html
+++ b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one.html b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one.html
index fb852908..7dd68269 100644
--- a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one.html
+++ b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_cumulative.html b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_cumulative.html
index 2e6562a5..bc94d5f3 100644
--- a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_cumulative.html
+++ b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_new.html b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_new.html
index fb852908..7dd68269 100644
--- a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_new.html
+++ b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_cases_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_cumulative.html b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_cumulative.html
index 6cade560..c3862be5 100644
--- a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_cumulative.html
+++ b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_cumulative.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_new.html b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_new.html
index c61e0d19..a18d6008 100644
--- a/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_new.html
+++ b/src/covid19/blueprints/who/templates/who/date_reported/who_date_reported_one_deaths_new.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/region/who_region_all.html b/src/covid19/blueprints/who/templates/who/region/who_region_all.html
index 12960224..be4df422 100644
--- a/src/covid19/blueprints/who/templates/who/region/who_region_all.html
+++ b/src/covid19/blueprints/who/templates/who/region/who_region_all.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/region/who_region_one.html b/src/covid19/blueprints/who/templates/who/region/who_region_one.html
index e2731033..b42b1a53 100644
--- a/src/covid19/blueprints/who/templates/who/region/who_region_one.html
+++ b/src/covid19/blueprints/who/templates/who/region/who_region_one.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../../app_all/templates/app_all/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/who_imported.html b/src/covid19/blueprints/who/templates/who/who_imported.html
index d12fed01..e1a862f0 100644
--- a/src/covid19/blueprints/who/templates/who/who_imported.html
+++ b/src/covid19/blueprints/who/templates/who/who_imported.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/who_info.html b/src/covid19/blueprints/who/templates/who/who_info.html
index 43bb0444..abc3ea8b 100644
--- a/src/covid19/blueprints/who/templates/who/who_info.html
+++ b/src/covid19/blueprints/who/templates/who/who_info.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/templates/who/who_tasks.html b/src/covid19/blueprints/who/templates/who/who_tasks.html
index ce29d69f..e4ecbcd5 100644
--- a/src/covid19/blueprints/who/templates/who/who_tasks.html
+++ b/src/covid19/blueprints/who/templates/who/who_tasks.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who/who_service.py b/src/covid19/blueprints/who/who_service.py
index 4f901d09..58f684b9 100644
--- a/src/covid19/blueprints/who/who_service.py
+++ b/src/covid19/blueprints/who/who_service.py
@@ -1,7 +1,7 @@
 from flask import flash
 
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.app_application.application_service_download import ApplicationServiceDownload
 from covid19.blueprints.who.who_service_import import WhoServiceImport
 from covid19.blueprints.who.who_service_update import WhoServiceUpdate, WhoServiceUpdateFull
diff --git a/src/covid19/blueprints/who/who_service_import.py b/src/covid19/blueprints/who/who_service_import.py
index 0a10f6ba..11edddf9 100644
--- a/src/covid19/blueprints/who/who_service_import.py
+++ b/src/covid19/blueprints/who/who_service_import.py
@@ -3,7 +3,7 @@ import csv
 import psycopg2
 from database import db, app
 from covid19.blueprints.who.who_model_import import WhoImport
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 
 
 class WhoServiceImport:
diff --git a/src/covid19/blueprints/who/who_service_update.py b/src/covid19/blueprints/who/who_service_update.py
index 9c232729..f7eb67ee 100644
--- a/src/covid19/blueprints/who/who_service_update.py
+++ b/src/covid19/blueprints/who/who_service_update.py
@@ -1,5 +1,5 @@
 from database import db, app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.who.who_model import WhoCountryRegion, WhoDateReported, WhoCountry, WhoData
 from covid19.blueprints.who.who_model_import import WhoImport
 
diff --git a/src/covid19/blueprints/who/who_views.py b/src/covid19/blueprints/who/who_views.py
index 4fd4a9cf..754a6b6d 100644
--- a/src/covid19/blueprints/who/who_views.py
+++ b/src/covid19/blueprints/who/who_views.py
@@ -6,7 +6,7 @@ from flask_admin.contrib.sqla import ModelView
 from flask_login import login_required
 
 from database import app, admin, db
-from covid19.blueprints.app_application.application_services import who_service
+from covid19.blueprints.app_all.application_services import who_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 
diff --git a/src/covid19/blueprints/who_test/templates/who_test/who_tests.html b/src/covid19/blueprints/who_test/templates/who_test/who_tests.html
index f79ff4b1..d3a1fb50 100644
--- a/src/covid19/blueprints/who_test/templates/who_test/who_tests.html
+++ b/src/covid19/blueprints/who_test/templates/who_test/who_tests.html
@@ -1,4 +1,4 @@
-{% extends 'application/page_layout.html' %}
+{% extends 'app_application/../../../app_all/templates/app_all/fragments/../../../app_all/templates/app_all/layout/page_layout.html' %}
 
 {% block content %}
     {{super()}}
diff --git a/src/covid19/blueprints/who_test/who_test_service.py b/src/covid19/blueprints/who_test/who_test_service.py
index 226b77ba..5e7b267d 100644
--- a/src/covid19/blueprints/who_test/who_test_service.py
+++ b/src/covid19/blueprints/who_test/who_test_service.py
@@ -1,5 +1,5 @@
 from database import app
-from covid19.blueprints.app_application.application_service_config import ApplicationServiceConfig
+from covid19.blueprints.app_all.application_service_config import ApplicationServiceConfig
 from covid19.blueprints.who.who_model import WhoDateReported, WhoData
 
 
diff --git a/src/covid19/blueprints/who_test/who_test_views.py b/src/covid19/blueprints/who_test/who_test_views.py
index b5b8b563..f836f256 100644
--- a/src/covid19/blueprints/who_test/who_test_views.py
+++ b/src/covid19/blueprints/who_test/who_test_views.py
@@ -4,7 +4,7 @@ from celery.utils.log import get_task_logger
 from flask_login import login_required
 
 from database import app, db
-from covid19.blueprints.app_application.application_services import who_service
+from covid19.blueprints.app_all.application_services import who_service
 from covid19.blueprints.app_application.application_workers import celery
 from covid19.blueprints.app_application.application_model_transient import ApplicationPage
 
-- 
GitLab