From 3d550b181e5a1963010a5c61002779f9ada62e8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de>
Date: Thu, 23 May 2024 10:30:12 +0000
Subject: [PATCH] Resolve "Release 5.5"

Merge request studip/studip!3032
---
 config/config.inc.php.dist           |   3 +-
 db/studip.sql                        | 332 +++++++++++++++++----------
 db/studip_default_data.sql           |  85 +++++--
 db/studip_demo_data.sql              |  60 +++--
 db/studip_resources_default_data.sql |   1 +
 db/studip_resources_demo_data.sql    |  58 ++---
 6 files changed, 325 insertions(+), 214 deletions(-)

diff --git a/config/config.inc.php.dist b/config/config.inc.php.dist
index 156224897e5..7b0400fc5fe 100644
--- a/config/config.inc.php.dist
+++ b/config/config.inc.php.dist
@@ -38,7 +38,6 @@ global
   $INST_ADMIN_DATAFIELDS_VIEW,
   $INST_MODULES,
   $INST_TYPE,
-  $LIT_LIST_FORMAT_TEMPLATE,
   $NAME_FORMAT_DESC,
   $PERS_TERMIN_KAT,
   $SCM_PRESET,
@@ -69,7 +68,7 @@ $UNI_URL = "http://www.studip.de";
 $UNI_LOGIN_ADD='';
 $UNI_LOGOUT_ADD=sprintf(_("Und hier geht's zur %sStud.IP Portalseite%s&nbsp;"), "<a href=\"http://www.studip.de\"><b>", "</b></a>");
 $UNI_CONTACT = "<please insert your general contact mail-adress here>";
-$UNI_INFO = "Stud.IP 5.4 - Studienbegleitender Internetsupport von Präsenzlehre";
+$UNI_INFO = "Stud.IP 5.5 - Studienbegleitender Internetsupport von Präsenzlehre";
 
 
 /* $SEM_CLASS and $SEM_TYPE configuration moved to database
diff --git a/db/studip.sql b/db/studip.sql
index 5a8f395c584..d490e28a1d9 100644
--- a/db/studip.sql
+++ b/db/studip.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13  Distrib 8.0.35, for Linux (x86_64)
+-- MySQL dump 10.13  Distrib 8.0.36, for Linux (x86_64)
 --
--- Host: localhost    Database: studip_54
+-- Host: localhost    Database: studip_55
 -- ------------------------------------------------------
--- Server version	8.0.35-0ubuntu0.22.04.1
+-- Server version	8.0.36-0ubuntu0.22.04.1
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -360,6 +360,7 @@ CREATE TABLE `auth_user_md5` (
   `lock_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
   `locked_by` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `visible` enum('global','always','yes','unknown','no','never') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'unknown',
+  `matriculation_number` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
   PRIMARY KEY (`user_id`),
   UNIQUE KEY `k_username` (`username`),
   KEY `perms` (`perms`)
@@ -620,36 +621,75 @@ CREATE TABLE `cache_types` (
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `calendar_event`
+-- Table structure for table `calendar_date_assignments`
 --
 
-DROP TABLE IF EXISTS `calendar_event`;
+DROP TABLE IF EXISTS `calendar_date_assignments`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `calendar_event` (
+CREATE TABLE `calendar_date_assignments` (
   `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `event_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `group_status` tinyint unsigned NOT NULL DEFAULT '0',
-  `mkdate` int unsigned NOT NULL,
-  `chdate` int unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`range_id`,`event_id`)
+  `calendar_date_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `mkdate` int NOT NULL DEFAULT '0',
+  `chdate` int NOT NULL DEFAULT '0',
+  `participation` enum('','ACCEPTED','DECLINED','ACKNOWLEDGED') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
+  PRIMARY KEY (`range_id`,`calendar_date_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `calendar_user`
+-- Table structure for table `calendar_date_exceptions`
 --
 
-DROP TABLE IF EXISTS `calendar_user`;
+DROP TABLE IF EXISTS `calendar_date_exceptions`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `calendar_user` (
-  `owner_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `permission` int NOT NULL,
-  `mkdate` int unsigned NOT NULL,
-  `chdate` int unsigned NOT NULL,
-  PRIMARY KEY (`owner_id`,`user_id`)
+CREATE TABLE `calendar_date_exceptions` (
+  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
+  `calendar_date_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `date` date NOT NULL,
+  `mkdate` int unsigned NOT NULL DEFAULT '0',
+  `chdate` int unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  KEY `calendar_date_id` (`calendar_date_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `calendar_dates`
+--
+
+DROP TABLE IF EXISTS `calendar_dates`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `calendar_dates` (
+  `id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `author_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `editor_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+  `unique_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+  `begin` int NOT NULL DEFAULT '0',
+  `end` int NOT NULL DEFAULT '0',
+  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
+  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
+  `access` enum('PUBLIC','PRIVATE','CONFIDENTIAL') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'PRIVATE',
+  `user_category` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '',
+  `category` tinyint unsigned NOT NULL DEFAULT '0',
+  `location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '',
+  `interval` tinyint DEFAULT '0',
+  `offset` tinyint DEFAULT '0',
+  `days` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '',
+  `month` tinyint unsigned DEFAULT NULL,
+  `repetition_type` enum('SINGLE','DAILY','WEEKLY','MONTHLY','YEARLY') COLLATE utf8mb4_unicode_ci DEFAULT 'SINGLE',
+  `number_of_dates` smallint unsigned NOT NULL DEFAULT '1',
+  `repetition_end` bigint NOT NULL DEFAULT '0',
+  `mkdate` int unsigned NOT NULL DEFAULT '0',
+  `chdate` int unsigned NOT NULL DEFAULT '0',
+  `import_date` int NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `unique_id` (`unique_id`),
+  KEY `autor_id` (`author_id`),
+  KEY `repetition_type` (`repetition_type`,`repetition_end`),
+  KEY `begin` (`begin`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
@@ -806,6 +846,7 @@ CREATE TABLE `consultation_blocks` (
   `calendar_events` tinyint unsigned NOT NULL DEFAULT '0' COMMENT 'Create events for slots',
   `show_participants` tinyint unsigned NOT NULL DEFAULT '0',
   `require_reason` enum('no','optional','yes') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'optional',
+  `mail_to_tutors` tinyint unsigned NOT NULL DEFAULT '1',
   `confirmation_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
   `note` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `size` tinyint unsigned NOT NULL DEFAULT '1' COMMENT 'How many people may book a slot',
@@ -900,12 +941,47 @@ DROP TABLE IF EXISTS `contact`;
 CREATE TABLE `contact` (
   `owner_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
   `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `mkdate` int unsigned DEFAULT NULL,
+  `mkdate` int NOT NULL DEFAULT '0',
+  `chdate` int NOT NULL DEFAULT '0',
+  `calendar_permissions` enum('','READ','WRITE') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
   PRIMARY KEY (`owner_id`,`user_id`),
   KEY `user_id` (`user_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
+--
+-- Table structure for table `contact_group_items`
+--
+
+DROP TABLE IF EXISTS `contact_group_items`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `contact_group_items` (
+  `group_id` bigint unsigned NOT NULL,
+  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `mkdate` int unsigned NOT NULL DEFAULT '0',
+  `chdate` int unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`group_id`,`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `contact_groups`
+--
+
+DROP TABLE IF EXISTS `contact_groups`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `contact_groups` (
+  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
+  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+  `owner_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `mkdate` int unsigned NOT NULL DEFAULT '0',
+  `chdate` int unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
 --
 -- Table structure for table `content_terms_of_use_entries`
 --
@@ -1167,6 +1243,7 @@ CREATE TABLE `cw_blocks` (
   `position` int NOT NULL,
   `block_type` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `visible` tinyint(1) NOT NULL,
+  `commentable` tinyint(1) NOT NULL,
   `payload` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `mkdate` int NOT NULL,
   `chdate` int NOT NULL,
@@ -1203,6 +1280,7 @@ CREATE TABLE `cw_certificates` (
   `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `course_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `unit_id` int NOT NULL,
+  `fileref_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `mkdate` int NOT NULL,
   PRIMARY KEY (`id`),
   KEY `index_user_id` (`user_id`),
@@ -1220,14 +1298,14 @@ DROP TABLE IF EXISTS `cw_clipboards`;
 CREATE TABLE `cw_clipboards` (
   `id` int NOT NULL AUTO_INCREMENT,
   `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `description` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `block_id` int DEFAULT NULL,
   `container_id` int DEFAULT NULL,
   `structural_element_id` int DEFAULT NULL,
   `object_type` enum('courseware-structural-elements','courseware-containers','courseware-blocks') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `object_kind` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `backup` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
+  `backup` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `mkdate` int unsigned NOT NULL,
   `chdate` int unsigned NOT NULL,
   PRIMARY KEY (`id`),
@@ -1341,10 +1419,11 @@ CREATE TABLE `cw_structural_elements` (
   `position` int NOT NULL,
   `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `image_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `image_type` enum('FileRef','StockImage') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FileRef',
+  `image_type` enum('FileRef','StockImage') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FileRef',
   `purpose` enum('content','draft','task','template','oer','other','portfolio') CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `payload` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `public` tinyint(1) NOT NULL,
+  `commentable` tinyint(1) NOT NULL,
   `release_date` int NOT NULL,
   `withdraw_date` int NOT NULL,
   `read_approval` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
@@ -1394,6 +1473,8 @@ CREATE TABLE `cw_task_groups` (
   `task_template_id` int NOT NULL,
   `solver_may_add_blocks` tinyint(1) NOT NULL,
   `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `start_date` int NOT NULL,
+  `end_date` int NOT NULL,
   `mkdate` int NOT NULL,
   `chdate` int NOT NULL,
   PRIMARY KEY (`id`),
@@ -1415,7 +1496,6 @@ CREATE TABLE `cw_tasks` (
   `structural_element_id` int NOT NULL,
   `solver_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `solver_type` enum('autor','group') CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `submission_date` int NOT NULL,
   `submitted` tinyint(1) NOT NULL,
   `renewal` enum('pending','granted','declined') CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `renewal_date` int NOT NULL,
@@ -1460,6 +1540,7 @@ CREATE TABLE `cw_units` (
   `range_type` enum('course','user') CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `structural_element_id` int NOT NULL,
   `content_type` enum('courseware') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `position` int DEFAULT NULL,
   `public` tinyint NOT NULL DEFAULT '1',
   `creator_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `release_date` int unsigned DEFAULT NULL,
@@ -1955,47 +2036,6 @@ CREATE TABLE `evalquestion` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
---
--- Table structure for table `event_data`
---
-
-DROP TABLE IF EXISTS `event_data`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `event_data` (
-  `event_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `author_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `editor_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
-  `start` int unsigned NOT NULL DEFAULT '0',
-  `end` int unsigned NOT NULL DEFAULT '0',
-  `summary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
-  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
-  `class` enum('PUBLIC','PRIVATE','CONFIDENTIAL') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'PRIVATE',
-  `categories` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
-  `category_intern` tinyint unsigned NOT NULL DEFAULT '0',
-  `priority` tinyint unsigned NOT NULL DEFAULT '0',
-  `location` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
-  `ts` int unsigned NOT NULL DEFAULT '0',
-  `linterval` smallint unsigned DEFAULT NULL,
-  `sinterval` smallint unsigned DEFAULT NULL,
-  `wdays` varchar(7) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `month` tinyint unsigned DEFAULT NULL,
-  `day` tinyint unsigned DEFAULT NULL,
-  `rtype` enum('SINGLE','DAILY','WEEKLY','MONTHLY','YEARLY') CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'SINGLE',
-  `duration` smallint unsigned NOT NULL DEFAULT '0',
-  `count` smallint DEFAULT '0',
-  `expire` int unsigned NOT NULL DEFAULT '0',
-  `exceptions` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
-  `mkdate` int unsigned NOT NULL DEFAULT '0',
-  `chdate` int unsigned NOT NULL DEFAULT '0',
-  `importdate` int unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`event_id`),
-  UNIQUE KEY `uid` (`uid`),
-  KEY `autor_id` (`author_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
 --
 -- Table structure for table `ex_termine`
 --
@@ -2024,23 +2064,28 @@ CREATE TABLE `ex_termine` (
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `extern_config`
+-- Table structure for table `extern_pages_configs`
 --
 
-DROP TABLE IF EXISTS `extern_config`;
+DROP TABLE IF EXISTS `extern_pages_configs`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `extern_config` (
-  `config_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `config_type` int NOT NULL DEFAULT '0',
+CREATE TABLE `extern_pages_configs` (
+  `config_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `type` varchar(50) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
-  `is_standard` tinyint unsigned NOT NULL DEFAULT '0',
-  `config` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `description` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `template` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `author_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `editor_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `mkdate` int unsigned NOT NULL DEFAULT '0',
   `chdate` int unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`config_id`,`range_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+  PRIMARY KEY (`config_id`),
+  KEY `range_id` (`range_id`),
+  KEY `type` (`type`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
@@ -2105,6 +2150,7 @@ CREATE TABLE `feedback` (
   `mode` int unsigned NOT NULL,
   `results_visible` tinyint unsigned NOT NULL,
   `commentable` tinyint unsigned NOT NULL,
+  `anonymous_entries` tinyint(1) NOT NULL DEFAULT '0',
   `mkdate` int unsigned NOT NULL,
   `chdate` int unsigned NOT NULL,
   PRIMARY KEY (`id`),
@@ -2127,6 +2173,7 @@ CREATE TABLE `feedback_entries` (
   `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `rating` tinyint unsigned NOT NULL,
+  `anonymous` tinyint(1) NOT NULL DEFAULT '0',
   `mkdate` int unsigned NOT NULL,
   `chdate` int unsigned NOT NULL,
   PRIMARY KEY (`id`),
@@ -2444,6 +2491,7 @@ CREATE TABLE `grading_instances` (
   `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `rawgrade` decimal(6,5) unsigned NOT NULL,
   `feedback` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `passed` tinyint NOT NULL DEFAULT '0',
   `mkdate` int unsigned NOT NULL,
   `chdate` int unsigned NOT NULL,
   PRIMARY KEY (`definition_id`,`user_id`)
@@ -2756,6 +2804,21 @@ CREATE TABLE `log_events` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
+--
+-- Table structure for table `login_faq`
+--
+
+DROP TABLE IF EXISTS `login_faq`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `login_faq` (
+  `faq_id` int NOT NULL AUTO_INCREMENT,
+  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+  `description` text COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`faq_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
 --
 -- Table structure for table `loginbackgrounds`
 --
@@ -4450,10 +4513,10 @@ CREATE TABLE `plugins` (
   `dependentonid` int unsigned DEFAULT NULL,
   `automatic_update_url` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
   `automatic_update_secret` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `description` text COLLATE utf8mb4_unicode_ci,
-  `description_mode` enum('add','override_description','replace_all') COLLATE utf8mb4_unicode_ci DEFAULT 'add',
+  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
+  `description_mode` enum('add','override_description','replace_all') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'add',
   `highlight_until` int unsigned DEFAULT NULL,
-  `highlight_text` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `highlight_text` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
   PRIMARY KEY (`pluginid`),
   KEY `highlight_until` (`highlight_until`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
@@ -5038,7 +5101,9 @@ CREATE TABLE `schedule_seminare` (
   `metadate_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
   `visible` tinyint unsigned NOT NULL DEFAULT '1',
   `color` tinyint DEFAULT NULL,
-  PRIMARY KEY (`user_id`,`seminar_id`,`metadate_id`)
+  PRIMARY KEY (`user_id`,`seminar_id`,`metadate_id`),
+  KEY `seminar_id` (`seminar_id`),
+  KEY `metadate_id` (`metadate_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
@@ -5113,6 +5178,7 @@ CREATE TABLE `sem_classes` (
   `title_autor_plural` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
   `show_raumzeit` tinyint unsigned NOT NULL DEFAULT '1',
   `is_group` tinyint unsigned NOT NULL DEFAULT '0',
+  `unlimited_forbidden` tinyint unsigned NOT NULL DEFAULT '0',
   `mkdate` int unsigned NOT NULL,
   `chdate` int unsigned NOT NULL,
   PRIMARY KEY (`id`),
@@ -5460,6 +5526,8 @@ CREATE TABLE `siteinfo_details` (
   `detail_id` smallint unsigned NOT NULL AUTO_INCREMENT,
   `rubric_id` smallint unsigned NOT NULL,
   `position` tinyint unsigned DEFAULT NULL,
+  `draft_status` tinyint NOT NULL DEFAULT '0',
+  `page_disabled_nobody` tinyint NOT NULL DEFAULT '0',
   `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   PRIMARY KEY (`detail_id`)
@@ -5740,7 +5808,7 @@ DROP TABLE IF EXISTS `user_info`;
 /*!50503 SET character_set_client = utf8mb4 */;
 CREATE TABLE `user_info` (
   `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `hobby` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
+  `hobby` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `lebenslauf` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `publi` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
   `schwerp` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
@@ -6057,76 +6125,88 @@ CREATE TABLE `widget_user` (
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `wiki`
+-- Table structure for table `wiki_links`
 --
 
-DROP TABLE IF EXISTS `wiki`;
+DROP TABLE IF EXISTS `wiki_links`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `wiki` (
+CREATE TABLE `wiki_links` (
   `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `keyword` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
-  `body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
-  `ancestor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
-  `chdate` int unsigned DEFAULT NULL,
-  `version` int NOT NULL DEFAULT '0',
-  `mkdate` int unsigned DEFAULT NULL,
-  PRIMARY KEY (`range_id`,`keyword`,`version`),
-  KEY `user_id` (`user_id`),
-  KEY `chdate` (`chdate`)
+  `from_page_id` int unsigned NOT NULL,
+  `to_page_id` int unsigned NOT NULL,
+  PRIMARY KEY (`range_id`,`to_page_id`,`from_page_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `wiki_links`
+-- Table structure for table `wiki_online_editing_users`
 --
 
-DROP TABLE IF EXISTS `wiki_links`;
+DROP TABLE IF EXISTS `wiki_online_editing_users`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `wiki_links` (
-  `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `from_keyword` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
-  `to_keyword` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
-  PRIMARY KEY (`range_id`,`to_keyword`,`from_keyword`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `wiki_online_editing_users` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT,
+  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `page_id` int NOT NULL,
+  `editing` tinyint(1) NOT NULL DEFAULT '0',
+  `editing_request` tinyint(1) NOT NULL DEFAULT '0',
+  `chdate` int NOT NULL,
+  `mkdate` int NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `user_id_2` (`user_id`,`page_id`),
+  KEY `user_id` (`user_id`),
+  KEY `page_id` (`page_id`),
+  KEY `chdate` (`chdate`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `wiki_locks`
+-- Table structure for table `wiki_pages`
 --
 
-DROP TABLE IF EXISTS `wiki_locks`;
+DROP TABLE IF EXISTS `wiki_pages`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `wiki_locks` (
-  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `keyword` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
-  `chdate` int unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`range_id`,`user_id`,`keyword`),
-  KEY `user_id` (`user_id`),
-  KEY `chdate` (`chdate`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `wiki_pages` (
+  `page_id` int unsigned NOT NULL AUTO_INCREMENT,
+  `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+  `content` mediumtext COLLATE utf8mb4_unicode_ci,
+  `parent_id` int DEFAULT NULL,
+  `read_permission` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'all',
+  `write_permission` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT 'all',
+  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `locked_since` bigint DEFAULT NULL,
+  `locked_by_user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+  `chdate` bigint NOT NULL,
+  `mkdate` bigint NOT NULL,
+  PRIMARY KEY (`page_id`),
+  KEY `read_permission` (`read_permission`),
+  KEY `write_permission` (`write_permission`),
+  KEY `range_id` (`range_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
--- Table structure for table `wiki_page_config`
+-- Table structure for table `wiki_versions`
 --
 
-DROP TABLE IF EXISTS `wiki_page_config`;
+DROP TABLE IF EXISTS `wiki_versions`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `wiki_page_config` (
-  `range_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `keyword` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
-  `read_restricted` tinyint unsigned NOT NULL DEFAULT '0',
-  `edit_restricted` tinyint unsigned NOT NULL DEFAULT '0',
-  `mkdate` int unsigned DEFAULT NULL,
-  `chdate` int unsigned DEFAULT NULL,
-  PRIMARY KEY (`range_id`,`keyword`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `wiki_versions` (
+  `version_id` int unsigned NOT NULL AUTO_INCREMENT,
+  `page_id` int unsigned NOT NULL,
+  `name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL,
+  `content` text COLLATE utf8mb4_unicode_ci,
+  `user_id` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+  `mkdate` bigint NOT NULL,
+  PRIMARY KEY (`version_id`),
+  KEY `page_id` (`page_id`),
+  KEY `mkdate` (`mkdate`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 /*!40101 SET character_set_client = @saved_cs_client */;
 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
 
@@ -6138,4 +6218,4 @@ CREATE TABLE `wiki_page_config` (
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2023-11-01 17:15:52
+-- Dump completed on 2024-05-22 15:47:52
diff --git a/db/studip_default_data.sql b/db/studip_default_data.sql
index df7ee8ba6b4..bf50f30aded 100644
--- a/db/studip_default_data.sql
+++ b/db/studip_default_data.sql
@@ -175,6 +175,7 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('CONSULTATION_TAB_TITLE', 'Terminvergabe', 'i18n', 'range', 'Terminvergabe', 1640797277, 1640797277, 'Der Name des Reiters für die Terminvergabe');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('CONTENTMODULES_TILED_DISPLAY', '1', 'boolean', 'user', '', 1698855218, 1698855218, 'Bevorzugt ein Nutzer eine Kachelansicht auf der Werkzeugseite in den Veranstaltungen oder lieber eine Tabelle?');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('CONVERT_IDNA_URL', '1', 'boolean', 'global', 'global', 1510849314, 1510849314, 'If true, urls with german \"umlauts\" are converted');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('COURSEWARE_CERTIFICATES_ENABLE', '1', 'boolean', 'global', '', 1716385357, 1716385357, 'Schaltet Courseware-Zertifikate, -Erinnerungen und -Fortschrittsrücksetzung ein oder aus');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('COURSEWARE_FAVORITE_BLOCK_TYPES', '[]', 'array', 'user', '', 1640797279, 1640797279, 'In dieser Konfigurationseinstellung können Nutzende ihre Lieblingsblocktypen speichern.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('COURSEWARE_LAST_ELEMENT', '[]', 'array', 'user', '', 1640797279, 1640797279, 'In dieser Konfigurationseinstellung werden die zuletzt besuchten Elemente in allen Coursewares abgelegt.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('COURSE_ADMIN_NOTICE', '', 'string', 'course', '', 1640797279, 1640797279, 'Admins: Notiz zu einer Veranstaltung');
@@ -199,6 +200,7 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('DISPLAY_DOWNLOAD_COUNTER', 'always', 'string', 'global', 'files', 1591630777, 1591630777, 'Steuert die Anzeige der Anzahl der Downloads in Dateisichten (\"always\" zeigt die Anzahl immer an, \"flat\" nur in \"Alle Dateien\", jeder andere Wert schaltet die Anzeige komplett aus)');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('DISPLAY_STGTEILVERSION_USERFILTER', '0', 'boolean', 'global', 'coursesets', 1591630778, 1591630778, 'Steuert die Anzeige des Studiengangteil-Version Filters beim Erstellen von bedingten Anmelderegeln.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('DOZENT_ALWAYS_VISIBLE', '1', 'boolean', 'global', 'privacy', 1293118059, 1293118059, 'Legt fest, ob Personen mit Lehrendenrechten immer global sichtbar sind und das auch nicht selbst ändern können.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EASY_READ_URL', 'dispatch.php/siteinfo/show/1/9', 'string', 'global', 'accessibility', 1716385357, 1716385357, 'URL zur Seite \"Leichte Sprache\"');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('ELEARNING_INTERFACE_ENABLE', '0', 'boolean', 'global', 'modules', 1293118059, 1293118059, 'Schaltet ein oder aus, ob die Lernmodule global verfügbar sind.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EMAIL_DOMAIN_RESTRICTION', '', 'string', 'global', '', 1157107088, 1157107088, 'Beschränkt die gültigkeit von Email-Adressen bei freier Registrierung auf die angegebenen Domains. Komma-separierte Liste von Domains ohne vorangestelltes @.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EMAIL_VISIBILITY_DEFAULT', '1', 'boolean', 'global', 'privacy', 1326799691, 1326799691, 'Ist die eigene Emailadresse sichtbar, falls der Nutzer nichts anderes eingestellt hat?');
@@ -215,13 +217,10 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EVAL_AUSWERTUNG_GRAPH_FORMAT', 'png', 'string', 'global', 'evaluation', 1141225624, 1141225624, 'Das Format, in dem die Diagramme der grafischen Evaluationsauswertung erstellt werden (jpg, png, gif).');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EVAL_ENABLE', '1', 'boolean', 'global', 'evaluation', 1686150733, 1686150733, 'Sollen die alten Evaluationen weiterhin eingeschaltet bleiben? Achtung, die alten Evaluationen werden in einem zukünftigen Stud.IP-Release entfernt.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EXPORT_ENABLE', '1', 'boolean', 'global', 'modules', 1293118059, 1293118059, 'Schaltet ein oder aus, ob der Export global verfügbar ist.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EXTERN_ALLOW_ACCESS_WITHOUT_CONFIG', '0', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Free access to external pages (without the need of a configuration), independent of SRI settings above');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EXTERN_ENABLE', '1', 'boolean', 'global', 'modules', 1293118059, 1293118059, 'Schaltet ein oder aus, ob die externen Seiten global verfügbar sind.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EXTERN_SRI_ENABLE', '0', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Allow the usage of SRI-interface (Stud.IP Remote Include)');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EXTERN_SRI_ENABLE_BY_ROOT', '0', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Only root allows the usage of SRI-interface for specific institutes');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('EXTERN_PAGES_ERROR_MESSAGE', 'Ein Fehler ist aufgetreten. Die Inhalte können nicht angezeigt werden.', 'string', 'global', 'external_pages', 1716385357, 1716385357, 'Allgemeine Fehlermeldung,die auf der Webseite ausgegeben wird, auf der der Inhalt der externe Seite angezeigt werden soll. Diese Meldung wird ausgegeben, wenn z.B. das Template fehlerhaft ist.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('FEEDBACK_ADMIN_PERM', 'tutor', 'string', 'course', '', 1591630778, 1591630778, 'Voreinstellung für Berechtigungslevel, um Einstellung zu Feedback-Elementen zu verwalten');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('FEEDBACK_CREATE_PERM', 'tutor', 'string', 'course', '', 1591630778, 1591630778, 'Voreinstellung für Berechtigungslevel, um Feedback-Elemente anzulegen.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('FOP_ENABLE', '1', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Soll Export mit FOP erlaubt sein?');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('FORUM_ANONYMOUS_POSTINGS', '0', 'boolean', 'global', 'privacy', 1293118059, 1293118059, 'Legt fest, ob Forenbeiträge anonym verfasst werden dürfen (Root sieht aber immer den Urheber).');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('FORUM_SETTINGS', '{\"neuauf\":false,\"rateallopen\":true,\"showimages\":true,\"sortthemes\":\"last\",\"themeview\":\"mixed\",\"presetview\":\"mixed\",\"shrink\":604800}', 'array', 'user', '', 1403258015, 1403258015, 'persönliche Einstellungen Forum');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('GLOBALSEARCH_ASYNC_QUERIES', '0', 'boolean', 'global', 'globalsearch', 1530289048, 1530289048, 'Sollen die Suchanfragen asynchron über mysqli gestellt werden? Andernfalls wird PDO verwendet.');
@@ -245,8 +244,10 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LAST_LOGIN_TIMESTAMP', '0', 'integer', 'user', '', 1403258015, 1403258015, 'Zeitstempel des vorherigen Logins');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LIBRARY_ADD_ITEM_ACTION_DESCRIPTION', 'Sie können digitale Originaldokumente direkt aus der Bibliothek beziehen. Sie erhalten Materialien mit geklärten Rechten und in hochwertiger Qualität. Bei Bedarf kann die Bibliothek zur Bereitstellung eingebunden werden.', 'string', 'global', 'Library', 1607702429, 1607702429, 'Der Beschreibungstext für die Aktion zum Hinzufügen eines Bibliothekseintrags in den Dateibereich.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LITERATURE_ENABLE', '0', 'boolean', 'global', 'modules', 1293118059, 1293118059, 'Schaltet ein oder aus, ob die Literaturverwaltung global verfügbar ist.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LOAD_EXTERNAL_MEDIA', 'deny', 'string', 'global', '', 1293118060, 1293118060, 'Sollen externe Medien über [img/flash/audio/video] eingebunden werden? deny=nicht erlaubt, allow=erlaubt, proxy=proxy benutzen.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LOAD_EXTERNAL_MEDIA', 'deny', 'string', 'global', '', 1293118060, 1293118060, 'Sollen externe Medien über [img/audio/video] eingebunden werden? deny=nicht erlaubt, allow=erlaubt, proxy=proxy benutzen.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LOCK_RULE_ADMIN_PERM', 'admin', 'string', 'global', 'permissions', 1240427632, 1240427632, 'mit welchem Status dürfen Sperrebenen angepasst werden (admin, root)');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LOGIN_FAQ_TITLE', 'Hinweise zum Login', 'i18n', 'global', 'Loginseite', 1716385357, 1716385357, 'Überschrift für den FAQ-Bereich auf der Loginseite');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LOGIN_FAQ_VISIBILITY', '1', 'boolean', 'global', 'Loginseite', 1716385357, 1716385357, 'Soll der FAQ-Bereich auf der Loginseite sichtbar sein?');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LOG_ENABLE', '1', 'boolean', 'global', 'modules', 1293118059, 1293118059, 'Schaltet ein oder aus, ob das Log global verfügbar ist.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('LTI_TOOL_TITLE', 'LTI-Tool', 'string', 'course', '', 1557244743, 1557244743, 'Voreinstellung für den Titel des Reiters \"LTI-Tool\" im Kurs.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MAILQUEUE_ENABLE', '0', 'boolean', 'global', 'global', 1403258017, 1403258017, 'Aktiviert bzw. deaktiviert die Mailqueue');
@@ -263,6 +264,14 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_ACCESS_ASSIGN_LVGRUPPEN', 'admin', 'string', 'global', 'mvv', 1483462780, 1483462780, 'Ab welchem Rechtestatus können Veranstaltungen Modulen (LV-Gruppen) zugeordnet werden. Bei Angabe von fakadmin darf nur dieser Zuordnungen vornehmen.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_ALLOW_CREATE_LVGRUPPEN_INDEPENDENTLY', '0', 'boolean', 'global', 'mvv', 1573236812, 1573236812, 'Soll das Anlegen von LV-Gruppen unabhängig von bestehenden Modulteilen auf der Verwaltungsseite für LV-Gruppen möglich sein?');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_OVERLAPPING_SHOW_VERSIONS_INSIDE_MULTIPLE_STUDY_COURSES', '0', 'boolean', 'global', 'mvv', 1591630777, 1591630777, 'Zeigt als zweite Auswahl bei Mehrfachstudiengängen nur Versionen der dazugehörigen Teilstudiengänge an.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_ABSCHLUSS', '', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for degrees. Possible placeholders: {{degree_name}}, {{degree_short_name}}. If empty a default name will be displayed.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_FACHBEREICH', '{{faculty_short_name}} - {{name}}', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for departments. Possible placeholders: {{department_name}}, {{faculty_short_name}}. Used only if the department is not a faculty. If empty the name of the institution will be displayed.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_MODUL', '{{module_name}} ({{semester_validity}})', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for modules. Possible placeholders: {{module_code}}, {{module_name}}, {{semester_validity}}');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_MODULTEIL', '', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for module parts. Possible placeholders: {{part_number}}, {{part_number_label}}, {{part_name}}, {{teaching_method}}. If empty a default name will be displayed.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_STGTEILABSCHNITTMODUL', '{{module_code}} - {{module_name}} ({{semester_validity}})', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for modules displayed in the context of a study course. Possible placeholders: {{module_code}}, {{module_name}}, {{semester_validity}}. If empty a default name will be displayed.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_STGTEILVERSION', '{{subject_name}} {{credit_points CP}} {{purpose_addition}}{{, version_ordinal_number}} {{version_type}} {{semester_validity}}', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for versions of study courses. Possible placeholders: {{subject_name}}, {{credit_points}}, {{purpose_addition}}, {{version_number}}, {{version_type}}, {{version_ordinal_number}}, {{semester_validity}}.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_STUDIENGANG', '{{study_course_name}} ({{degree_category}})', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for the name of a study course. Possible placeholders: {{study_course_name}}, {{degree_name}}, {{degree_category}}.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MVV_TEMPLATE_NAME_STUDIENGANGTEIL', '{{subject_name}} {{credit_points}} CP {{purpose_addition}}', 'string', 'global', 'mvv', 1716385357, 1716385357, 'Template for parts of a study course. Possible placeholders: {{subject_name}}, {{credit_points}}, {{purpose_addition}}.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MY_COURSES_DEFAULT_CYCLE', 'last', 'string', 'global', 'MeineVeranstaltungen', 1462287310, 1462287310, 'Standardeinstellung für den Semester-Filter, falls noch keine Auswahl getätigt wurde. (all, future, current, last)');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MY_COURSES_ENABLE_ALL_SEMESTERS', '1', 'boolean', 'global', 'MeineVeranstaltungen', 1416496224, 1416496224, 'Ermöglicht die Anzeige von allen Semestern unter meine Veranstaltungen.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('MY_COURSES_ENABLE_STUDYGROUPS', '1', 'boolean', 'global', 'MeineVeranstaltungen', 1416496224, 1416496224, 'Sollen Studiengruppen in einem eigenen Bereich angezeigt werden (Neues Navigationelement in Meine Veranstaltungen)?.');
@@ -293,6 +302,7 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('ONLINE_NAME_FORMAT', 'full_rev', 'string', 'user', '', 1153814980, 1153814980, 'Default-Wert für wer-ist-online Namensformatierung');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('ONLINE_VISIBILITY_DEFAULT', '1', 'boolean', 'global', 'privacy', 1326799691, 1326799691, 'Sind Nutzer sichtbar in der Wer ist online-Liste, falls sie nichts anderes eingestellt haben?');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('OPENGRAPH_ENABLE', '1', 'boolean', 'global', 'global', 1403258018, 1403258018, 'De-/Aktiviert OpenGraph-Informationen und deren Abrufen.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('PASSWORD_TOOLTIP_TEXT', '', 'i18n', 'global', 'Loginseite', 1716385357, 1716385357, 'Text für den Tooltip des Benutzernamens auf der Loginseite');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('PDF_LOGO', '', 'string', 'global', 'global', 1311411856, 1311411856, 'Geben Sie hier den absoluten Pfad auf Ihrem Server (also ohne http) zu einem Logo an, das bei PDF-Exporten im Kopfbereich verwendet wird.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('PERSONAL_DETAILS_INFO_TEXT', 'Einige Ihrer persönlichen Daten werden nicht in Stud.IP verwaltet und können daher hier nicht geändert werden.', 'i18n', 'global', 'global', 1698855217, 1698855217, 'Der Infotext der unter Profil->Persönliche Angaben->Grunddaten angezeigt wird, wenn man nicht die Standard-Auth nutzt.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('PERSONAL_NOTIFICATIONS_ACTIVATED', '1', 'boolean', 'global', 'privacy', 1403258015, 1403258015, 'Sollen persönliche Benachrichtigungen aktiviert sein?');
@@ -305,6 +315,7 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('PROFILE_LAST_VISIT', '0', 'integer', 'user', '', 1403258015, 1403258015, 'Zeitstempel des letzten Besuchs der Profilseite');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('PROPOSED_TEACHER_LABELS', '', 'string', 'global', 'global', 1326799692, 1326799692, 'Write a list of comma separated possible labels for teachers and tutor here.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('RANGE_TREE_ADMIN_PERM', 'root', 'string', 'global', 'permissions', 1219328498, 1219328498, 'mit welchem Status darf die Einrichtungshierarchie bearbeitet werden (admin oder root)');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('REPORT_BARRIER_MODE', 'on', 'string', 'global', 'accessibility', 1716385357, 1716385357, 'Einstellungen zum Formular zu Melden einer Barriere (\"on\" = immer an, \"logged-in\" = nur für angemeldete Personen, \"off\" = ausgeschaltet)');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('RESOURCES_ADDITIONAL_TEXT_ROOM_EXPORT', '', 'string', 'global', 'resources', 1656513808, 1656513808, 'Zusatztext, der beim Seriendruck unter jedem Raumplan angezeigt werden soll');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('RESOURCES_ALLOW_ROOM_PROPERTY_REQUESTS', '1', 'boolean', 'global', 'resources', 0, 1074780851, 'Schaltet in der Ressourcenverwaltung die Möglichkeit, im Rahmen einer Anfrage Raumeigenschaften zu wünschen, ein oder aus');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('RESOURCES_ALLOW_ROOM_REQUESTS', '1', 'boolean', 'global', 'resources', 0, 1100709567, 'Schaltet in der Ressourcenverwaltung das System zum Stellen und Bearbeiten von Raumanfragen ein oder aus');
@@ -364,7 +375,8 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('TFA_TRUST_DURATION', '30', 'integer', 'global', 'Zwei-Faktor-Authentifizierung', 1656513809, 1656513809, 'Dauer, denen Geräte vertraut werden soll in Tagen (0 für dauerhaftes Vertrauen)');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('TOURS_ENABLE', '1', 'boolean', 'global', 'global', 1416496223, 1416496223, 'Aktiviert die Funktionen zum Anbieten von Touren in Stud.IP');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('UNI_NAME_CLEAN', 'Stud.IP', 'string', 'global', 'global', 1510849314, 1510849314, 'Name der Stud.IP-Installation bzw. Hochschule.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('USERNAME_REGULAR_EXPRESSION', '/^([a-zA-Z0-9_@.-]{4,})$/', 'string', 'global', 'global', 1510849314, 1510849314, 'Regex for allowed characters in usernames');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('USERNAME_REGULAR_EXPRESSION', '/^([a-zA-Z0-9_@.-]{4,})$/', 'string', 'global', 'global', 1510849314, 1510849314, 'Regulärer Ausdruck für erlaubte Zeichen in Benutzernamen. Das Kommentarfeld kann genutzt werden, um eine Fehlermeldung anzugeben, die zum Beispiel im Registrierungsformular ausgegeben wird, wenn der Ausdruck nicht erfüllt wird.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('USERNAME_TOOLTIP_TEXT', '', 'i18n', 'global', 'Loginseite', 1716385357, 1716385357, 'Text für den Tooltip des Benutzernamens auf der Loginseite');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('USER_HIGH_CONTRAST', '0', 'boolean', 'user', 'accessibility', 1669041528, 1669041528, 'Schaltet ein barrierefreies Stylesheet mit hohem Kontrast ein oder aus.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('USER_VISIBILITY_CHECK', '1', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Enable presentation of visibility decision texts for users after first login. see lib/include/header.php and lib/user_visible.inc.php for further info');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('USER_VISIBILITY_UNKNOWN', '1', 'boolean', 'global', 'privacy', 1153815901, 1153815901, 'Sollen Nutzer mit Sichtbarkeit \"unknown\" wie sichtbare behandelt werden?');
@@ -377,9 +389,10 @@ INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `c
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WEBSERVICES_ENABLE', '0', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Schaltet die Webservice-Schnittstelle an.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WIKI_COMMENTS_ENABLE', '0', 'boolean', 'user', '', 1591630778, 1591630778, 'Einstellung für die Anzeige von Kommentaren in Wiki als Icon');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WIKI_COURSE_EDIT_RESTRICTED', '0', 'boolean', 'course', '', 1557244742, 1557244742, 'Legt fest, dass nur Teilnehmende ab Rechtestufe \"tutor\" das Wiki bearbeiten dürfen.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WIKI_CREATE_PERMISSION', 'all', 'string', 'course', '', 1716385357, 1716385357, 'Status, den es braucht, um neue Wiki-Seiten anzulegen.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WIKI_ENABLE', '1', 'boolean', 'global', 'modules', 1293118059, 1293118059, 'Schaltet ein oder aus, ob das Wiki global verfügbar ist.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WYSIWYG', '1', 'boolean', 'global', 'global', 1403258021, 1403258021, 'Aktiviert den WYSIWYG Editor im JavaScript.');
-INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('XSLT_ENABLE', '1', 'boolean', 'global', 'global', 1510849314, 1510849314, 'Soll Export mit XSLT angeschaltet sein?');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WIKI_RENAME_PERMISSION', 'all', 'string', 'course', '', 1716385357, 1716385357, 'Status, den es braucht, um Wiki-Seiten umzubenennen.');
+INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('WIKI_STARTPAGE_ID', '', 'string', 'course', '', 1716385357, 1716385357, 'ID der Wiki-Startseite des Wikis.');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('ZIP_DOWNLOAD_MAX_FILES', '400', 'integer', 'global', 'files', 1219328498, 1219328498, 'Die maximale Anzahl an Dateien, die gezippt heruntergeladen werden kann');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('ZIP_DOWNLOAD_MAX_SIZE', '200', 'integer', 'global', 'files', 1219328498, 1219328498, 'Die maximale Größe aller Dateien, die zusammen in einem Zip heruntergeladen werden kann (in Megabytes).');
 INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`) VALUES('ZIP_UPLOAD_ENABLE', '1', 'boolean', 'global', 'files', 1130840930, 1130840930, 'Ermöglicht es, ein Zip Archiv hochzuladen, welches automatisch entpackt wird');
@@ -403,6 +416,7 @@ INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `
 INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('69f3cf620a3ee6a3e77a554163685520', '81f150b1a22210a1d6fac70220faa831', 1, NULL, NULL, '{\"verbose\":false}', 'normal', 'periodic', 41, 1, NULL, NULL, NULL, 1686181260, NULL, NULL, 0, 1686150733, 1686150733);
 INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('6eef46d414b104b153402be299e16515', '2f2713671892bd9624fc27866cfd4630', 0, NULL, '', '{\"verbose\":\"1\",\"send_messages\":\"1\"}', 'normal', 'periodic', -30, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0, 1403258015, 1403258130);
 INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('81411d712690ab3a82032439dbcdc8c1', '9c4ad2a8fe47d07e61475d25f5e539db', 0, NULL, NULL, '[]', 'normal', 'periodic', NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0, 1403258017, 1403258017);
+INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('8541eec0e512e4e0caa2a5566dd3633b', '5ecaecd21cd6dd3712d3d294de51c776', 0, NULL, NULL, 'null', 'normal', 'periodic', 45, 1, NULL, NULL, NULL, 0, NULL, NULL, 0, 1716385357, 1716385357);
 INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('b6e232acce27674e496bd2182aab5aaa', '43f9da3d9245d0f01b43f744e0b8cdce', 0, NULL, NULL, 'null', 'normal', 'periodic', 55, 0, NULL, NULL, NULL, 1530312900, NULL, NULL, 0, 1530289049, 1530290418);
 INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('cdf293c6c5ae966d87dc5ee723d9880d', '823875ed4a4b2e87baca0e5137243d96', 0, NULL, '', '{\"verbose\":\"1\"}', 'normal', 'periodic', 33, 2, NULL, NULL, NULL, 1530318780, NULL, NULL, 0, 1403258015, 1530290419);
 INSERT INTO `cronjobs_schedules` (`schedule_id`, `task_id`, `active`, `title`, `description`, `parameters`, `priority`, `type`, `minute`, `hour`, `day`, `month`, `day_of_week`, `next_execution`, `last_execution`, `last_result`, `execution_count`, `mkdate`, `chdate`) VALUES('dc849ba21c484ffbb82f7ef9edea3d7d', '208619e89a59895771c2967076daf59e', 0, NULL, NULL, '[]', 'low', 'periodic', -30, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0, 1403258015, 1403258015);
@@ -414,11 +428,11 @@ INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `executi
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('3428a64935e8c6a5ab5dcf5bf95fe556', 'lib/cronjobs/session_gc.class.php', 'SessionGcJob', 1, 0, 0, NULL, NULL);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('43f9da3d9245d0f01b43f744e0b8cdce', 'lib/classes/FilesSearch/Cronjob.php', 'FilesSearch\\Cronjob', 1, 0, 2, NULL, NULL);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('532b3fe76447dd85e10949a6fc5f3aa8', 'lib/cronjobs/cleanup_log.class.php', 'CleanupLogJob', 1, 0, 0, NULL, NULL);
+INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('5ecaecd21cd6dd3712d3d294de51c776', 'lib/cronjobs/import_ilias_testresults.php', 'ImportIliasTestresults', 1, 0, 1, 1716385357, 1716385357);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('81f150b1a22210a1d6fac70220faa831', 'lib/cronjobs/courseware.php', 'CoursewareCronjob', 1, 0, 1, 1686150733, 1686150733);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('823875ed4a4b2e87baca0e5137243d96', 'lib/cronjobs/garbage_collector.class.php', 'GarbageCollectorJob', 1, 0, 0, NULL, NULL);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('9c4ad2a8fe47d07e61475d25f5e539db', 'lib/cronjobs/send_mail_queue.class.php', 'SendMailQueueJob', 1, 0, 0, NULL, NULL);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('ca6df41746dbd2077d993d3bfddbf10c', 'lib/cronjobs/remind_oer_upload.class.php', 'RemindOerUpload', 1, 0, 0, NULL, NULL);
-INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('d0a556faa0bb93df823ccae8905b21d3', 'lib/cronjobs/clean_object_user_visits.php', 'CleanObjectUserVisits', 1, 0, 0, NULL, NULL);
 INSERT INTO `cronjobs_tasks` (`task_id`, `filename`, `class`, `active`, `execution_count`, `assigned_count`, `mkdate`, `chdate`) VALUES('d19f37c382fec524b4fd51b3c5a1ada3', 'lib/cronjobs/send_mail_notifications.class.php', 'SendMailNotificationsJob', 1, 0, 0, NULL, NULL);
 
 INSERT INTO `datafields` (`datafield_id`, `name`, `object_type`, `object_class`, `edit_perms`, `view_perms`, `institut_id`, `priority`, `mkdate`, `chdate`, `type`, `typeparam`, `is_required`, `default_value`, `is_userfilter`, `description`, `system`) VALUES('0c63321a8e93b3ccc927611709248e07', 'default Planungsfarbe', 'inst', NULL, 'admin', 'root', NULL, 0, NULL, NULL, 'textline', '', 0, NULL, 0, 'Default Farben im Veranstaltungsplaner', 0);
@@ -996,6 +1010,7 @@ INSERT INTO `loginbackgrounds` (`background_id`, `filename`, `mobile`, `desktop`
 
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('005df8d5eb23c66214b28b3c9792680b', 'SEM_CHANGED_ACCESS', 'Zugangsberechtigungen geändert', '%user ändert die Zugangsberechtigungen der Veranstaltung %sem(%affected).', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('00af9c41fc56b617097bdef1e7dca397', 'MVV_FACHINST_NEW', 'MVV: Fach-Einrichtung Zuweisung erstellen', '%user weist das Fach %fach(%affected) der Einrichtung %inst(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('03d980e11c5a6b57e2bd680cf9bbc890', 'MVV_CONTACT_RANGE_UPDATE', 'MVV: Zuordnung der Kontaktperson ändern', '%user ändert die Zuordnung der Kontaktperson %contact(%affected) zum Bereich %range(%coaffected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('04061e4d13b416e10d6094679e7c9d9c', 'MVV_MODULTEIL_DEL', 'MVV: Modulteil löschen', '%user löscht Modulteil %modulteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('060390e972f9580ab92c7febb99fb2fa', 'MVV_LVSEMINAR_NEW', 'MVV: LV-Gruppe zu Veranstaltung Zuweisung erstellen', '%user weist der LV-Gruppe %lvgruppe(%affected) der Veranstaltung %sem(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('07c384b8328f56a33b4edb2570e85a48', 'MVV_MODULTEIL_DESK_NEW', 'MVV: Modulteil Deskriptor erstellen', '%user erstellt neuen Modulteil Deskriptor %modulteildesk(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1009,9 +1024,13 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('10916a5a08ca16bfd055e4823311377a', 'MVV_DOK_ZUORD_DEL', 'MVV: Dokumentzuordnung löschen', '%user löscht die Zuweisung des Dokumentes %dokument(%affected) zu %object_type(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('10c31be1aec819c03b0dc299d0111576', 'CHANGE_BASIC_DATA', 'Basisdaten geändert', '%user hat in Veranstaltung %sem(%affected) die Daten %info geändert.', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('10c320bc80022f1ff1381857af46f474', 'SEM_DEL_FROM_GROUP', 'Veranstaltung aus Gruppe entfernen', '%user entfernt Veranstaltung %sem(%affected) aus der Gruppe %sem(%coaffected).', 1, 0, NULL, NULL, 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('10e9a21d0dc5b627a529dda76a89a884', 'MVV_FILE_FILEREF_UPDATE', 'MVV: Datei ändern', '%user ändert Datei %fileref(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('13b5297079e1600ccc3ca6f49081099f', 'MVV_STG_STGTEIL_DEL', 'MVV: Studiengang zu Studiengangteil Zuweisung löschen', '%user löscht die Zuweisung des Studienganges %stg(%affected) zum Studiengangteil %stgteil(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('143ade01ac63524ee2ed0fac5a6f0c33', 'MVV_FILE_RANGE_NEW', 'MVV: Material/Dokument zuordnen', '%user ordnet Material/Dokument %fileref(%affected) zum Bereich %range(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('157f75beb242c7de8ff790d4005a259e', 'MVV_FACH_DEL', 'MVV: Fach löschen', '%user löscht Fach %fach(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('1585bb70e5e403fd818e59bb622db4a3', 'STATUSGROUP_ADD_USER', 'Nutzer wird zu einer Statusgruppe hinzugefügt', '%user fügt %user(%affected) zur %group(%coaffected) hinzu.', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('15b9fcdf82a617e9bd9d0ca112ecebac', 'MVV_FILE_FILEREF_DELETE', 'MVV: Datei löschen', '%user löscht Datei %fileref(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('1601bfdca4988a309636d2bbbd3adb47', 'MVV_EXTERN_CONTACT_NEW', 'MVV: Externe Kontaktperson erstellen', '%user erstellt neue externe Kontaktperson %contact(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('17f0a527e9db7dec09687a70681559cf', 'RES_ASSIGN_DEL_SINGLE', 'Direktbuchung löschen', '%user löscht Direktbuchung für %res(%affected) (%info).', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('1a1e8c9c3125ea8d2c58c875a41226d6', 'INST_DEL', 'Einrichtung löschen', '%user löscht Einrichtung %info (%affected).', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('1a27a101df926fafce35635f0dd72522', 'MVV_MODULTEIL_NEW', 'MVV: Modulteil erstellen', '%user erstellt neuen Modulteil %modulteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1023,8 +1042,10 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('248f54105b7102e5cbcc36e9439504fb', 'STUDYAREA_ADD', 'Studienbereich hinzufügen', '%user legt Studienbereich %studyarea(%affected) an.', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('292b1cf6c0b46d7038baa75e0b273299', 'MVV_MODUL_DEL', 'MV: Modul löschen', '%user löscht Modul %modul(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('293a742d791a1edbaaa738f8991aeb7b', 'MVV_LVSEMINAR_UPDATE', 'MVV: LV-Gruppe zu Veranstaltung Zuweisung ändern', '%user ändert die Zuweisung der LV-Gruppe %lvgruppe(%affected) zur Veranstaltung %sem(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('2d5a23cf47bea8e77dcce0f3a100727c', 'MVV_EXTERN_CONTACT_UPDATE', 'MVV: Externe Kontaktperson ändern', '%user ändert externe Kontaktperson %contact(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('2dd254c28cac83c59856fe89500e3bc3', 'MVV_STGTEILABS_MODUL_DEL', 'MVV: Stgteilabschnitt-Modul Zuweisung löschen', '%user löscht die Zuweisung des Studiengangteilabschnitts %stgteilabs(%affected) zum Modul %modul(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('2e816bfd792e4a99913f11c04ad49198', 'SEM_UNDELETE_SINGLEDATE', 'Einzeltermin wiederherstellen', '%user stellt Einzeltermin %singledate(%affected) in %sem(%coaffected) wieder her.', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('2e8ac58e7f181243e3a736ddd65416e1', 'MVV_FILE_UPDATE', 'MVV: Material/Dokument ändern', '%user ändert Material/Dokument %file(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('30dfb509cb1a8e228af3bd17dd6c8d1d', 'RES_ASSIGN_SEM', 'Buchen einer Ressource (VA)', '%user bucht %res(%affected) für %sem(%coaffected) (%info).', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('31fd4549853915608facb8c3e2b101d6', 'MVV_STGTEIL_DEL', 'MVV: Studiengangteil löschen', '%user löscht Studiengangteil %stgteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('347738302758bea951248b255409fa85', 'MVV_KATEGORIE_UPDATE', 'MVV: Abschluss-Kategorie ändern', '%user ändert Abschluss-Kategorie %abskategorie(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1032,9 +1053,11 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('3861d5249b8fe7f2be57adfda8944f4d', 'MVV_LVGRUPPE_UPDATE', 'MVV: LV-Gruppe ändern', '%user ändert LV-Gruppe %lvgruppe(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('39082f4fbfe61ff3aee8e93f47bc1722', 'FILE_DELETE', 'Nutzer löscht Datei', '%user löscht Datei %info (File-Id: %affected)', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('398c62a78ec7e2b72d88cce504c2730f', 'MVV_MODULTEIL_STGTEILABS_NEW', 'MVV: Studiengangteilabschnitt zu Modulteil Zuweisung erstellen', '%user weist den Modulteil %modulteil(%affected) dem Studiengangteilabschnitt %stgteilabs(%coaffected) im %fachsem. Fachsemester zu.', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
-INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('3f7dcf6cc85d6fba1281d18c4d9aba6f', 'SEM_ADD_SINGLEDATE', 'Einzeltermin hinzufügen', '%user hat in %sem(%affected) den Einzeltermin <em>%coaffected</em> hinzugefügt', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('3f7dcf6cc85d6fba1281d18c4d9aba6f', 'SEM_ADD_SINGLEDATE', 'Einzeltermin hinzufügen', '%user hat in %sem(%affected) den Einzeltermin %singledate(%coaffected) hinzugefügt', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('3f9b68eacae768ff01cc1cc2d0d82174', 'MVV_FACHBERATER_NEW', 'MVV: Person zu Fach Zuweisung erstellen', '%user weist dem Studiengangteil %stgteil(%affected) %user(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('4015db0d107d4df6d071bf7ffc70f0a4', 'MVV_CONTACT_RANGE_DELETE', 'MVV: Zuordnung der Kontaktperson löschen', '%user löscht die Zuordnung der Kontaktperson %contact(%affected) zum Bereich %range(%coaffected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('40455e06f6a679cd87c68c375c9dfa5a', 'MVV_STGTEILBEZ_DEL', 'MVV: Studiengangteil-Bezeichnung löschen', '%user löscht Studiengangteil-Bezeichnung %stgteilbez(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('4159b9cb03abe9bbe4a60d6083969544', 'MVV_CONTACT_DELETE', 'MVV: Kontaktperson löschen', '%user löscht Kontaktperson %contact(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('428c09d5a31b1057b08ca5e3b3877109', 'MVV_FACHBERATER_UPDATE', 'MVV: Person zu Fach Zuweisung ändern', '%user ändert die Zuweisung von %user(%coaffected) zum Studiengangteil %stgteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('42b01c873e3066a840ab3237e3aa0911', 'RES_PERM_CHANGE', 'Änderung der Berechtigungsstufe an einer Ressource.', '%user ändert Berechtigung von %res(%affected): %info', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('447d6ae1b51b97b04f7ae290c6b002d7', 'MVV_DOKUMENT_DEL', 'MVV: Dokument löschen', '%user löscht Dokument %dokument(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1049,11 +1072,13 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('4b08c6b8539466a1f1968b44ec2996ed', 'MVV_LVMODULTEIL_DEL', 'MVV: LV-Gruppe zu Modulteil Zuweisung löschen', '%user löscht die Zuweisung der LV-Gruppe %lv(%affected) zum Modulteil %modulteil(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('4dd6b4101f7bf3bd7fe8374042da95e9', 'USER_NEWPWD', 'Neues Passwort', '%user generiert neues Passwort für %user(%affected)', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('4e2cf05ca311e5a616a7612ce8f5a885', 'MVV_MODULTEIL_STGTEILABS_DEL', 'MVV: Studiengangteilabschnitt zu Modulteil Zuweisung löschen', '%user löscht die Zuweisung des Modulteils %modulteil(%affected) im %fachsem. des Studiengangteilabschnitt %stgteilabs(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('4e705f2d91569d31dd0c9c197b3f28b5', 'MVV_FILE_FILEREF_NEW', 'MVV: Datei erstellen', '%user erstellt neue Datei %fileref(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('535010528d6c012ec0e3535e2d754f66', 'SEM_USER_ADD', 'In Veranstaltung eingetragen', '%user hat %user(%coaffected) für %sem(%affected) mit dem status %info eingetragen. (%dbg_info)', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('54fb2968cd737ed53f300864ee507260', 'USER_UNLOCK', 'Nutzer wird entsperrt', '%user entsperrt %user(%affected) (%info)', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('566a614092e9f502d9340467ecef59d1', 'MVV_STGTEILVERSION_UPDATE', 'MVV: Studiengangteilversion ändern', '%user ändert Studiengangteilversion %version(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('5a34b0ea6a824f96c0117a035d1cf9e9', 'MVV_DOKUMENT_UPDATE', 'MVV: Dokument ändern', '%user ändert Dokument %dokument(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('5b96f2fe994637253ba0fe4a94ad1b98', 'SEM_ARCHIVE', 'Veranstaltung archivieren', '%user archiviert %info (ID: %affected).', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('5f75cc8482e27c430eb5714b70c63c7d', 'MVV_FILE_NEW', 'MVV: Material/Dokument erstellen', '%user erstellt neues Material/Dokument %file(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('5f8fda12a4c0bd6eadbb94861de83696', 'SEM_ADD_CYCLE', 'Regelmäßige Zeit hinzugefügt', '%user hat in %sem(%affected) die regelmäßige Zeit %info hinzugefügt.', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('5fd9b4ddb5c4e035c0b0e7751613cd94', 'MVV_STGTEILABS_MODUL_NEW', 'MVV: Stgteilabschnitt-Modul Zuweisung erstellen', '%user weist dem Studiengangteilabschnitt %stgteilabs(%affected) dem Modul %Modul(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('63031a1eb903c1092752521ccf4b7456', 'FOLDER_DELETE', 'Nutzer löscht Ordner', '%user löscht Datei %info (Folder-Id: %affected)', 1, 0, NULL, NULL, NULL, NULL, NULL);
@@ -1066,6 +1091,7 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('6c5d5ed836c464be1c5547adcec3eae0', 'MVV_MODULTEIL_LANG_UPDATE', 'MVV: Sprache zu Modulteil Zuweisung ändern', '%user ändert die Zuweisung der Unterrichtssprache %language(%coaffected) zum Modulteil %modulteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('6e2b789a57b9125af59c0273f5b47cb1', 'SEM_USER_DEL', 'Aus Veranstaltung ausgetragen', '%user hat %user(%coaffected) aus %sem(%affected) ausgetragen. (%info)', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('6f4bb66c1caf89879d89f3b1921a93dd', 'SEM_DELETE_CYCLE', 'Regelmäßige Zeit gelöscht', '%user hat in %sem(%affected) die regelmäßige Zeit %info gelöscht.', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('700efdc3f172bb73d326ce9824ec2580', 'MVV_FILE_RANGE_UPDATE', 'MVV: Zuordnung von Material/Dokument zu Bereich ändern.', '%user ändert Zuordnung von Material/Dokument %fileref(%affected) zu Bereich %range(%coaffected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('71bfea5eb0d9a85d1247b83383ac5b7e', 'MVV_MODUL_DESK_NEW', 'MVV: Modul Deskriptor erstellen', '%user erstellt neuen Modul Deskriptor %moduldesk(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('754708c8c0c61a916855c5031014acbb', 'SEM_DELETE_STUDYAREA', 'Studienbereich aus Veranst. löschen', '%user entfernt Studienbereich \"%studyarea(%coaffected)\" aus %sem(%affected).', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('770f76504dcbbfa6bdc51a8c0f6df4b2', 'MVV_STGTEILABS_DEL', 'MVV: Studiengangteilabschnitt löschen', '%user löscht Studiengangteilabschnitt %stgteilabs(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1074,6 +1100,7 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('7d37d874592eea50eef5239fb7b8e3d7', 'MVV_MODULTEIL_LANG_DEL', 'MVV: Sprache zu Modulteil Zuweisung löschen', '%user löscht die Zuweisung der Unterrichtssprache %language(%coaffected) zum Modulteil %modulteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('7f2ec1cbf988eee849de7cfa031b68f9', 'MVV_STGTEILVERSION_DEL', 'MVV: Studiengangteilversion löschen', '%user löscht Studiengangteilversion %version(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('7f335b5d0d9f8d37652718cb89937b38', 'MVV_STGTEIL_NEW', 'MVV: Studiengangteil erstellen', '%user erstellt neuen Studiengangteil %stgteil(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('811c6650f12229280382ff2793a4cb22', 'MVV_FILE_DELETE', 'MVV: Material/Dokument löschen', '%user löscht Material/Dokument %file(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('8216cba6119cf4a4de82ec3ce8ac51b7', 'MVV_MODUL_USER_UPDATE', 'MVV: Person zu Modul Zuweisung ändern', '%user ändert die Zuweisung von %user(%coaffected) als %gruppe zum Modul %modul(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('89114dcd6f02dd7f94488a616c21a7c3', 'PLUGIN_ENABLE', 'Plugin einschalten', '%user hat in Veranstaltung %sem(%affected) das Plugin %plugin(%coaffected) aktiviert.', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('897207a36c411d736947052219624b72', 'USER_CHANGE_PASSWORD', 'Nutzerpasswort geändert', '%user ändert/setzt das Passwort für %user(%affected)', 0, 0, NULL, NULL, NULL, NULL, NULL);
@@ -1086,7 +1113,7 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('997cf01328d4d9f36b9f50ac9b6ace47', 'SEM_DELETE_SINGLEDATE', 'Einzeltermin löschen', '%user löscht Einzeltermin %singledate(%affected) in %sem(%coaffected).', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('9a7a5112de76fa0b8bd8910174d5f107', 'MVV_STGTEILBEZ_UPDATE', 'MVV: Studiengangteil-Bezeichnung ändern', '%user ändert Studiengangteil-Bezeichnung %stgteilbez(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('9d13643a1833c061dc3d10b4fb227f12', 'SEM_SET_ENDSEMESTER', 'Semesterlaufzeit ändern', '%user hat in %sem(%affected) die Laufzeit auf %semester(%coaffected) geändert', 1, 0, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('9d642dc93540580d42ba2ea502c3fbf6', 'SINGLEDATE_CHANGE_TIME', 'Einzeltermin bearbeiten', '%user hat in %sem(%affected) den Einzeltermin %coaffected geändert.', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('9d642dc93540580d42ba2ea502c3fbf6', 'SINGLEDATE_CHANGE_TIME', 'Einzeltermin bearbeiten', '%user hat in %sem(%affected) den Einzeltermin %singledate(%coaffected) geändert.', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('9ed46a3ca3d4f43e17f91e314224dcae', 'SEM_CHANGE_CYCLE', 'Regelmäßige Zeit geändert', '%user hat in %sem(%affected) die regelmäßige Zeit %info geändert', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('9eea9c8ec3fa6916fae974559f3a6e64', 'MVV_STGTEILABS_MODUL_UPDATE', 'MVV: Stgteilabschnitt-Modul Zuweisung ändern', '%user ändert die Zuweisung des Studiengangteilabschnitts %stgteilabs(%affected) zum Modul %modul(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('a06bd1ca1b5eec038c079042eb25acb0', 'MVV_DOKUMENT_NEW', 'MVV: Dokument erstellen', '%user erstellt neues Dokument %dokument(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1119,7 +1146,9 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d07c8b37c6d3e206cd012d07ba8028b1', 'SEM_CHANGED_RIGHTS', 'Veranstaltungsrechte geändert', '%user hat %user(%coaffected) in %sem(%affected) als %info eingetragen. (%dbg_info)', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d18d750fb2c166e1c425976e8bca96e7', 'USER_CHANGE_EMAIL', 'E-Mail-Adresse ändern', '%user ändert/setzt E-Mail-Adresse für %user(%affected): %info.', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d1989a21fc77ffc34e705bb3dc215ebb', 'STATUSGROUP_REMOVE_USER', 'Nutzer wird aus einer Statusgruppe gelöscht', '%user entfernt %user(%affected) aus %group(%coaffected).', 1, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d2ec04856dc8ca6776dac29fa9842aeb', 'MVV_CONTACT_NEW', 'MVV: Kontaktperson erstellen', '%user erstellt neue Kontaktperson %contact(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d4e99ffb6ffb32a20c0d9075bb73889d', 'MVV_ABS_ZUORD_UPDATE', 'MVV: Abschluss-Kategorien Zuweisung  ändern', '%user ändert die Zuweisung des Abschlusses %abschluss(%affected) zur Kategorie %abskategorie(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d5706ac17db2223637042af1c107ff44', 'MVV_EXTERN_CONTACT_DELETE', 'MVV: Externe Kontaktperson löschen', '%user löscht externe Kontaktperson %contact(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('d8e863ca143ff87cce89f17b2e3b409e', 'MVV_ABSCHLUSS_UPDATE', 'MVV: Abschluss ändern', '%user ändert Abschluss %abschluss(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('dcd16239a49c367e37faf8ffe9ae0081', 'SEM_ADD_TO_GROUP', 'Veranstaltung zu Gruppe hinzufügen', '%user ordnet Veranstaltung %sem(%affected) der Gruppe %sem(%coaffected) zu.', 1, 0, NULL, NULL, 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('df41cc74f6fd857b1690e36dafa070a9', 'MVV_MODUL_LANG_DEL', 'MVV: Sprache zu Modul Zuweisung löschen', '%user löscht die Zuweisung der Unterrichtssprache %language(%coaffected) zum Modul %modul(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
@@ -1131,12 +1160,15 @@ INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`,
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('e8423589894e5df742804e57f54fa5aa', 'MVV_MODULTEIL_STGTEILABS_UPDATE', 'MVV: Studiengangteilabschnitt zu Modulteil Zuweisung ändern', '%user ändert die Zuweisung des Modulteils %modulteil(%affected) im %fachsem. des Studiengangteilabschnitt %stgteilabs(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('e8646729e5e04970954c8b9679af389b', 'USER_DEL', 'Benutzer löschen', '%user löscht %user(%affected) (%info)', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('e8b1105ca4f2305ef0db6c961d2fbe4c', 'RES_ASSIGN_SINGLE', 'Buchen einer Ressource (Einzel)', '%user bucht %res(%affected) direkt (%info).', 0, 0, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('e8d19770cc42028d124ca5a91beb1085', 'MVV_FILE_RANGE_DELETE', 'MVV: Zuordnung von Material/Dokument zu Bereich löschen', '%user löscht Zuordnung von Material/Dokument %fileref(%affected) von Bereich %range/%coaffected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('eac0850398466b86ec6af4068cff74ab', 'MVV_MODULTEIL_DESK_DEL', 'MVV: Modulteil Deskriptor löschen', '%user löscht Modulteil Deskriptor %modulteildesk(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('efe4f97f61a5f61ac69d9edad7d9b16f', 'MVV_CONTACT_UPDATE', 'MVV: Kontaktperson ändern', '%user ändert Kontaktperson %contact(%affected).', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('f363c6db07203dfcec893b1b8fc0eaee', 'MVV_FACHINST_UPDATE', 'MVV: Fach-Einrichtung Zuweisung ändern', '%user ändert die Zuweisung des Faches %fach(%affected) zur Einrichtung %inst(%coaffected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('f858b05c11f5faa2198a109a783087a8', 'SEM_CREATE', 'Veranstaltung anlegen', '%user legt %sem(%affected) an.', 1, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('f97335d7f45fd87a4e5e2c1d17f38dc0', 'MVV_MODUL_DESK_UPDATE', 'MVV: Modul Deskriptor ändern', '%user ändert Modul Deskriptor %moduldesk(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('fb550711e786f5d7d6a9ef8b4eb915f6', 'MVV_MODULINST_NEW', 'MVV: Modul-Einrichtung Beziehung erstellen', '%user weist dem Modul %modul(%affected) die Einrichtungen %inst(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('fc72d34ddb15a9819919fc42716830b3', 'MVV_MODUL_NEW', 'MVV: Modul erstellen', '%user erstellt neues Modul %modul(%affected).', 1, 0, NULL, 'MVV', 'core', NULL, NULL);
+INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('fd599d69434d1024255fac81ed90a6ac', 'MVV_CONTACT_RANGE_NEW', 'MVV: Kontaktperson zuordnen', '%user ordnet die Kontaktperson %contact(%affected) dem Bereich %range(%coaffected) zu.', 1, 0, NULL, 'MVV', 'core', 1716385357, 1716385357);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('fd74339a9ea038d084569e33e2655b6a', 'CHANGE_INSTITUTE_DATA', 'Beteiligte Einrichtungen geändert', '%user hat in Veranstaltung %sem(%affected) die Daten geändert. %info', 0, 0, NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `log_actions` (`action_id`, `name`, `description`, `info_template`, `active`, `expires`, `filename`, `class`, `type`, `mkdate`, `chdate`) VALUES('ff806b4b26f8bc8c3e65e29d14176cd9', 'RES_REQUEST_RESOLVE', 'Aufgelöste Raumanfrage', '%user löst Raumanfrage für %sem(%affected), Raum %res(%coaffected) auf.', 0, 0, NULL, NULL, NULL, NULL, NULL);
 
@@ -1386,20 +1418,22 @@ INSERT INTO `roles_studipperms` (`roleid`, `permname`) VALUES(6, 'tutor');
 INSERT INTO `roles_user` (`roleid`, `userid`, `institut_id`) VALUES(7, 'nobody', '');
 
 INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '1', 327);
-INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.1', 52);
+INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.1', 58);
 INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.2', 15);
-INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.3', 21);
-INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.4', 15);
+INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.3', 23);
+INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.4', 17);
+INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.5', 28);
+INSERT INTO `schema_version` (`domain`, `branch`, `version`) VALUES('studip', '5.5.23', 1);
 
 INSERT INTO `semester_data` (`semester_id`, `name`, `semester_token`, `beginn`, `ende`, `sem_wechsel`, `vorles_beginn`, `vorles_ende`, `visible`, `external_id`, `mkdate`, `chdate`) VALUES('322f640f3f4643ebe514df65f1163eb1', 'SS 2024', '', 1711922400, 1727733599, NULL, 1712527200, 1720821599, 1, '', NULL, 1698856529);
-INSERT INTO `semester_data` (`semester_id`, `name`, `semester_token`, `beginn`, `ende`, `sem_wechsel`, `vorles_beginn`, `vorles_ende`, `visible`, `external_id`, `mkdate`, `chdate`) VALUES('4967f0a483e36554b77e3dc47aa58941', 'WS 2023/2024', '', 1696111200, 1711922399, NULL, 1698012000, 1707519599, 1, '', NULL, 1686151054);
+INSERT INTO `semester_data` (`semester_id`, `name`, `semester_token`, `beginn`, `ende`, `sem_wechsel`, `vorles_beginn`, `vorles_ende`, `visible`, `external_id`, `mkdate`, `chdate`) VALUES('4967f0a483e36554b77e3dc47aa58941', 'WS 2024/2025', '', 1727733600, 1743458399, NULL, 1729461600, 1738969199, 1, '', NULL, 1716387028);
 
-INSERT INTO `semester_holiday` (`holiday_id`, `semester_id`, `name`, `description`, `beginn`, `ende`, `mkdate`, `chdate`) VALUES('704038f0cb3ea0a285ba0a453788ebed', '', 'Unterbrechung', '', 1703286000, 1704495599, NULL, 1686151122);
+INSERT INTO `semester_holiday` (`holiday_id`, `semester_id`, `name`, `description`, `beginn`, `ende`, `mkdate`, `chdate`) VALUES('704038f0cb3ea0a285ba0a453788ebed', '', 'Unterbrechung', '', 1734908400, 1736117999, NULL, 1716387135);
 
-INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `mkdate`, `chdate`) VALUES(1, 'Lehre', 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreDocuments\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"1\",\"sticky\":\"0\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreParticipants\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreSchedule\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"ConsultationModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreElearningInterface\":{\"activated\":\"0\",\"sticky\":\"0\"},\"IliasInterfaceModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"LtiToolModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"GradebookModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"FeedbackModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreCalendar\":{\"activated\":\"0\",\"sticky\":\"1\"}}', 'Hier finden Sie alle in Stud.IP registrierten Lehrveranstaltungen', '', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, 1366882120, 1641229573);
-INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `mkdate`, `chdate`) VALUES(2, 'Organisation', 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreParticipants\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreDocuments\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreSchedule\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreElearningInterface\":{\"activated\":\"0\",\"sticky\":\"0\"},\"LtiToolModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"GradebookModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"ConsultationModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreCalendar\":{\"activated\":\"0\",\"sticky\":\"0\"},\"FeedbackModule\":{\"activated\":\"0\",\"sticky\":\"0\"}}', 'Hier finden Sie virtuelle Veranstaltungen zu verschiedenen Gremien an der Universit&auml;t', '', 0, 0, 0, 'LeiterIn', 'LeiterInnen', 'Mitglied', 'Mitglieder', NULL, NULL, 1, 0, 1366882120, 1641229564);
-INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `mkdate`, `chdate`) VALUES(3, 'Community', 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreParticipants\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreDocuments\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"0\",\"sticky\":\"0\"},\"LtiToolModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"GradebookModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"FeedbackModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreSchedule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"ConsultationModule\":{\"activated\":\"0\",\"sticky\":\"0\"}}', 'Hier finden Sie virtuelle Veranstaltungen zu unterschiedlichen Themen', '', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, 1366882120, 1641229633);
-INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `mkdate`, `chdate`) VALUES(99, 'Studiengruppen', 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreStudygroupAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreStudygroupParticipants\":{\"activated\":\"1\",\"sticky\":\"1\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreDocuments\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreCalendar\":{\"activated\":\"0\",\"sticky\":\"1\"}}', '', '', 1, 0, 0, 'GruppengründerIn', 'GruppengründerInnen', 'ModeratorIn', 'ModeratorInnen', 'Mitglied', 'Mitglieder', 0, 0, 1366882120, 1641229657);
+INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `unlimited_forbidden`, `mkdate`, `chdate`) VALUES(1, 'Lehre', 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreDocuments\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"1\",\"sticky\":\"0\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreParticipants\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreSchedule\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"ConsultationModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreElearningInterface\":{\"activated\":\"0\",\"sticky\":\"0\"},\"IliasInterfaceModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"LtiToolModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"GradebookModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"FeedbackModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreCalendar\":{\"activated\":\"0\",\"sticky\":\"1\"}}', 'Hier finden Sie alle in Stud.IP registrierten Lehrveranstaltungen', '', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, 0, 1366882120, 1641229573);
+INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `unlimited_forbidden`, `mkdate`, `chdate`) VALUES(2, 'Organisation', 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreParticipants\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreDocuments\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreSchedule\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreElearningInterface\":{\"activated\":\"0\",\"sticky\":\"0\"},\"LtiToolModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"GradebookModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"ConsultationModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreCalendar\":{\"activated\":\"0\",\"sticky\":\"0\"},\"FeedbackModule\":{\"activated\":\"0\",\"sticky\":\"0\"}}', 'Hier finden Sie virtuelle Veranstaltungen zu verschiedenen Gremien an der Universit&auml;t', '', 0, 0, 0, 'LeiterIn', 'LeiterInnen', 'Mitglied', 'Mitglieder', NULL, NULL, 1, 0, 0, 1366882120, 1641229564);
+INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `unlimited_forbidden`, `mkdate`, `chdate`) VALUES(3, 'Community', 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreParticipants\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreDocuments\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"0\",\"sticky\":\"0\"},\"LtiToolModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"GradebookModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"FeedbackModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreSchedule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"ConsultationModule\":{\"activated\":\"0\",\"sticky\":\"0\"}}', 'Hier finden Sie virtuelle Veranstaltungen zu unterschiedlichen Themen', '', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, 0, 1366882120, 1641229633);
+INSERT INTO `sem_classes` (`id`, `name`, `only_inst_user`, `default_read_level`, `default_write_level`, `bereiche`, `module`, `show_browse`, `write_access_nobody`, `topic_create_autor`, `visible`, `course_creation_forbidden`, `modules`, `description`, `create_description`, `studygroup_mode`, `admission_prelim_default`, `admission_type_default`, `title_dozent`, `title_dozent_plural`, `title_tutor`, `title_tutor_plural`, `title_autor`, `title_autor_plural`, `show_raumzeit`, `is_group`, `unlimited_forbidden`, `mkdate`, `chdate`) VALUES(99, 'Studiengruppen', 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, '{\"CoreOverview\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreStudygroupAdmin\":{\"activated\":\"1\",\"sticky\":\"1\"},\"CoreStudygroupParticipants\":{\"activated\":\"1\",\"sticky\":\"1\"},\"Blubber\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreForum\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreDocuments\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoreScm\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreWiki\":{\"activated\":\"1\",\"sticky\":\"0\"},\"CoursewareModule\":{\"activated\":\"0\",\"sticky\":\"0\"},\"CoreCalendar\":{\"activated\":\"0\",\"sticky\":\"1\"}}', '', '', 1, 0, 0, 'GruppengründerIn', 'GruppengründerInnen', 'ModeratorIn', 'ModeratorInnen', 'Mitglied', 'Mitglieder', 0, 0, 0, 1366882120, 1641229657);
 
 INSERT INTO `sem_types` (`id`, `name`, `class`, `mkdate`, `chdate`) VALUES(1, 'Vorlesung', 1, 1366882120, 1366882120);
 INSERT INTO `sem_types` (`id`, `name`, `class`, `mkdate`, `chdate`) VALUES(2, 'Seminar', 1, 1366882120, 1366882120);
@@ -1416,11 +1450,12 @@ INSERT INTO `sem_types` (`id`, `name`, `class`, `mkdate`, `chdate`) VALUES(12, '
 INSERT INTO `sem_types` (`id`, `name`, `class`, `mkdate`, `chdate`) VALUES(13, 'sonstige', 3, 1366882120, 1366882120);
 INSERT INTO `sem_types` (`id`, `name`, `class`, `mkdate`, `chdate`) VALUES(99, 'Studiengruppe', 99, 1366882120, 1366882120);
 
-INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `name`, `content`) VALUES(1, 1, NULL, '[lang=de]Ansprechpartner[/lang][lang=en]Contact[/lang]', '[style=float: right]\r\n[img]https://develop.studip.de/logos/logoklein.png\r\n**Version:** (:version:)\r\n[/style]\r\n[lang=de]Für diese Stud.IP-Installation ((:uniname:)) sind folgende Administratoren zuständig:[/lang]\r\n[lang=en]The following administrators are responsible for this Stud.IP installation ((:uniname:)):[/lang]\r\n(:rootlist:)\r\n[lang=de]allgemeine Anfragen wie Passwort-Anforderungen u.a. richten Sie bitte an:[/lang]\r\n[lang=en]General queries e.g., password queries, please contact:[/lang]\r\n(:unicontact:)\r\n[lang=de]Folgende Einrichtungen sind beteiligt:\r\n(Genannt werden die jeweiligen Administratoren der Einrichtungen für entsprechende Anfragen)[/lang]\r\n[lang=en]The following institutes participate:\r\n(Named are the institutes administrators responsible for the corresponding query areas)[/lang]\r\n(:adminlist:)');
-INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `name`, `content`) VALUES(2, 1, NULL, '[lang=de]Entwickler[/lang][lang=en]Developer[/lang]', '[style=float: right]\r\n\r\n[img]https://develop.studip.de/logos/logoklein.png\r\n\r\n**Version:** (:version:)\r\n\r\n[/style]\r\n\r\n[lang=de]Stud.IP ist ein Open Source Projekt zur Unterstützung von Präsenzlehre an Universitäten, Hochschulen und anderen Bildungseinrichtungen. Das System entstand am Zentrum für interdisziplinäre Medienwissenschaft (ZiM) der Georg-August-Universität Göttingen unter Mitwirkung der Suchi & Berg GmbH (data-quest) , Göttingen. Heute erfolgt die Weiterentwicklung von Stud.IP verteilt an vielen Standorten (Göttingen, Osnabrück, Oldenburg, Bremen, Hannover, Jena und weiteren). Die Koordination der Entwicklung erfolgt durch die Stud.IP-CoreGroup.\r\n\r\nStud.IP steht unter der GNU General Public License, Version 2.\r\n\r\n\r\n\r\nWeitere Informationen finden sie auf ** [www.studip.de]http://www.studip.de **,**  [develop.studip.de]http://develop.studip.de **.[/lang]\r\n\r\n\r\n\r\n[lang=en]Stud.IP is an opensource project for supporting attendance courses offered by universities, institutions of higher education and other educational institutions. The system was established at the Zentrum für interdisziplinäre Medienwissenschaft (ZiM) in the Georg-August-Universität Göttingen in cooperation with Suchi & Berg GmbH (data-quest) , Göttingen. At the present further developing takes place at various locations (among others Göttingen, Osnabrück, Oldenburg, Bremen, Hannover, Jena) under coordination through the Stud.IP-CoreGroup.\r\n\r\n\r\n\r\nStud.IP is covered by the GNU General Public Licence, version 2.\r\n\r\n\r\n\r\nFurther information can be found under ** [www.studip.de]http://www.studip.de **,**  [develop.studip.de]http://develop.studip.de **.[/lang]\r\n\r\n\r\n\r\n(:coregroup:)\r\n\r\n[lang=de]Sie erreichen uns auch über folgende **Mailinglisten**:\r\n\r\n\r\n\r\n**Nutzer-Anfragen**, E-Mail: studip-users@lists.sourceforge.net : Fragen, Anregungen und Vorschläge an die Entwickler - bitte __keine__ Passwort Anfragen!\r\n\r\n**News-Mailingsliste**, E-Mail: studip-news@lists.sourceforge.net : News rund um Stud.IP (Eintragung notwendig)\r\n\r\n\r\n\r\nWir laden alle Entwickler, Betreiber und Nutzer von Stud.IP ein, sich auf dem Developer-Server http://develop.studip.de an den Diskussionen rund um die Weiterentwicklung und Nutzung der Plattform zu beteiligen.[/lang]\r\n\r\n[lang=en]You can contact us via the following **mailing lists**:\r\n\r\n\r\n\r\n**User enquiries**, E-Mail: studip-users@lists.sourceforge.net : Questions, suggestions and recommendations to the developers - __please no password queries__!\r\n\r\n\r\n\r\n**News mailing list**, E-Mail: studip-news@lists.sourceforge.net : News about Stud.IP (registration necessary)\r\n\r\n\r\n\r\nWe invite all developers, administrators and users of Stud.IP to join the discussions on further developing and using the platform available at the developer server http://develop.studip.de[/lang]');
-INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `name`, `content`) VALUES(5, 2, NULL, 'History', '(:history:)');
-INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `name`, `content`) VALUES(7, 1, NULL, 'Datenschutzerklärung', '++**Datenschutzerklärung**++\n\nSie erhalten als Nutzer/-in unserer Internetseite in dieser Datenschutzerklärung notwendige Informationen darüber, wie und in welchem Umfang sowie zu welchem Zweck die  **[Betreibereinrichtung]** Daten von Ihnen erhebt und wie diese verwendet werden. Die Daten werden nur innerhalb der **[Betreibereinrichtung]** verarbeitet und verwendet und nicht an Dritte weitergegeben.\n\n\n++**Rechtsgrundlagen**++\n\nDie Erhebung und Nutzung Ihrer Daten erfolgt streng nach den gesetzlichen Vorgaben. Regelungen dazu finden sich in:\nEuropäische Datenschutzgrundverordnung (EU DSGVO)\nBundesdatenschutzgesetz (BDSG)\nNiedersächsisches Datenschutzgesetz (NDSG)\nTeledienstegesetz (TDG)\nMediendienste-Staatsvertrag (MDStV)\nTeledienstedatenschutzgesetz (TDDSG).\n\n\n++**Personenbezogene Daten**++\n\nPersonenbezogene Daten werden zum Zwecke der administrativen Nutzerverwaltung, zur Kontaktaufnahme und Interaktion mit Ihnen sowie zur Bereitstellung personalisierter Dienste [zur Durchführung Ihres Studium bzw. Ihrer Arbeit an **[Betreibereinrichtung]**] von uns gespeichert.\nFür die Nutzung von Stud.IP  werden folgende Daten abgefragt und gespeichert:\n- Nutzername\n- Vorname, Nachname\n- Mailadresse\n- [ggf. weitere Daten]\n\n\nWeitere Daten, die evtl. Ihnen gespeichert werden, sind Inhalte, die Sie selbst im Rahmen Ihrer Arbeit oder Ihres Studiums in Stud.IP einstellen. Dazu gehören:\n- Freiwillige Angaben zur Person\n- Beiträge in Foren\n- hochgeladene Dateien\n- Chatverläufe in Blubber\n- interne Nachrichten\n- Kalendereinträge und Stundenpläne\n- Teilnahme an Lehrveranstaltungen, Studiengruppen, Orgagremien\n- Persönliche Einstellungen und Konfigurationen\n- [ggf. Plugindaten]\n\n\nDiese Inhalte werden mit Ihrem Klarnamen gespeichert und angezeigt. Sie haben die Möglichkeit über die Privatsphäreeinstellungen selbst zu bestimmen, ob und ggf. welche Personengruppen diese Daten sehen dürfen. Diese Daten werden von Stud.IP intern verschlüsselt abgelegt.\n\n\n++**Aufbewahrungsfristen **++\n\nIhre personenbezogenen Daten werden für die Dauer Ihres Studiums/Ihrer Arbeit bei [Beitreibereinrichtung] gespeichert. Nach Beendigung ihrer Tätigkeit und Ablauf der gesetzlichen Aufbewahrungsfristen werden Ihre Daten gelöscht.\n\n\n++**Auskunft, Löschung, Sperrung**++\n\nSie erhalten jederzeit auf Anfrage Auskunft über die von uns über Sie gespeicherten personenbezogenen Daten sowie dem Zweck von Datenerhebung sowie Datenverarbeitung. Bitte wenden Sie sich hierzu an o.g. Kontaktadresse.\n\nAußerdem haben Sie das Recht, die Berichtigung, die Sperrung oder Löschung Ihrer Daten zu verlangen. Sie können Ihre Einwilligung ohne Angabe von Gründen durch Schreiben an die o.g. Kontakadresse widerrufen. Ihre Daten werden dann umgehend gelöscht. Eine weitere Nutzung der Lernplattform Stud.IP ist dann aber nicht mehr möglich.\n\nAusgenommen von der Löschung sind Daten, die aufgrund gesetzlicher Vorschriften aufbewahrt oder zur ordnungsgemäßen Geschäftsabwicklung benötigt werden. Damit eine Datensperre jederzeit realisiert werden kann, werden Daten zu Kontrollzwecken in einer Sperrdatei vorgehalten.\n\nWerden Daten nicht von einer gesetzlichen Archivierungspflicht erfasst, löschen wir Ihre Daten auf Ihren Wunsch. Greift die Archivierungspflicht, sperren wir Ihre Daten. Für alle Fragen und Anliegen zur Berichtigung, Sperrung oder Löschung von personenbezogenen Daten wenden Sie sich bitte an unsere Datenschutzbeauftragten unter den Kontaktdaten in dieser Datenschutzerklärung bzw. an die im Impressum genannte Adresse.\n\n\n++**Datenübertragbarkeit**++\n\nSie haben das Recht, jederzeit Ihre Daten ausgehändigt zu bekommen. Auf Anfrage stellen wir Ihnen Ihre Daten in menschenlesbaren, gängigen und bearbeitbaren Formaten zur Verfügung.\n\n\n++**Cookies**++\n\nStud.IP verwendet ein Session-Cookie. Diese kleine Textdatei beinhaltet lediglich eine verschlüsselte Zeichenfolge, die bei der Navigation im System hilft. Das Cookie wird bei der Abmeldung aus Stud.IP oder beim Schließen des Browsers gelöscht.\n\n\n++**Server Logfiles**++\n\nMit dem Zugriff auf Stud.IP werden IP-Adresse, Datum, Uhrzeit und Browserversion zum Zeitpunkt des Zugriffs registriert und anonymisiert gespeichert. Die Erhebung und Nutzung dieser Log-File-Daten dient lediglich der Auswertung zu rein statistischen Forschungs- und Evaluationszwecken der Lernplattform, werden also nicht in Verbindung mit Namen oder Mailadresse gespeichert oder ausgewertet. Diese Daten werden für die Zeit von [X] Monaten auf gesicherten Systemen der **[Betreibereinrichtung]** gespeichert und ebenfalls nicht an Dritte weitergegeben.\n\n\n++**SSL-Verschlüsselung**++\n\nDie Verbindung zu Stud.IP erfolgt mit einer SSL-Verschlüsselung. Über SSL verschlüsselte Daten sind nicht von Dritten lesbar. Übermitteln Sie Ihre vertraulichen Informationen nur bei aktivierter SSL-Verschlüsselung und wenden Sie sich im Zweifel an uns.\n\n\n++Kontaktdaten:++\n**Name:**\n**Telefonnummer:**\n**E-Mail-Adresse:**\n**Unternehmensbezeichnung:**\n\n++Datenschutzbeauftragte/-r:++\n**Name:**\n**Telefonnummer:**\n**E-Mail-Adresse:**\n**Unternehmensbezeichnung:**\n\n\n');
-INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `name`, `content`) VALUES(8, 1, NULL, 'Barrierefreiheitserklärung', '<!--HTML--><p>[lang=de]</p> <h1>Mustertext Erklärung zur Barrierefreiheit für Stud.IP</h1><p>[Text in eckigen Klammern ist ggf. zu ergänzen, zu streichen oder sprachlich anzupassen, je nachdem, wie das Ergebnis der Überprüfung der Barrierefreiheit ausfällt.]</p><p>Diese Erklärung zur Barrierefreiheit gilt für die Stud.IP-Installation unter der [URL der ergänzen; bitte Version und Datum angeben] der [Betreiber der Stud.IP-Installation ergänzen].</p><p>Als öffentliche Stelle im Sinne der Richtlinie (EU) 2016/2102 sind wir bemüht, unsere Websites und mobilen Anwendungen im Einklang mit den Bestimmungen des Behindertengleichstellungsgesetzes des Bundes (BGG) sowie der Barrierefreien-Informationstechnik-Verordnung (BITV 2.0) zur Umsetzung der Richtlinie (EU) 2016/2102 barrierefrei zugänglich zu machen.</p><p>[Hier ggf. jeweilige Landesverordnung zusätzlich einfügen, z.B. für Niedersachsen <i>§ 9 NBGG.</i>]</p><h2>Stand der Vereinbarkeit mit den Anforderungen</h2><p>Die Anforderungen der Barrierefreiheit ergeben sich aus §§ 3 Absätze 1 bis 4 und 4 der BITV 2.0, die auf der Grundlage von § 12d BGG erlassen wurde.</p><p>Die Überprüfung der Einhaltung der Anforderungen beruht auf einer von Materna Information &amp; Communications SE Anfang 2022 vorgenommenen Bewertung. Maßstab der Prüfung ist die EN 301 549 und der A sowie AA Status der WCAG 2.1. Überprüft wurden die Vorgaben der WCAG 2.1 (Konformitätsstufen A und AA) anhand der 98 Prüfschritte des BITV/WCAG-Tests.</p><p>Die Überprüfung bezieht sich auf das Stud.IP-Release 5.0 [Plugins und Inhalte müssen standortspezifisch geprüft und ggf. dokumentiert/diese Erklärung angepasst werden. Bitte ggf. ergänzen.]</p><p>Diese Stud.IP-Installation ist nicht vollständig mit den für uns geltenden Vorschriften zur Barrierefreiheit vereinbar. Im Einzelnen:</p><ul><li>Überschriftenhierarchien werden auf manchen Seiten nicht vollständig eingehalten.</li><li>Für Bilder, Bedienelemente und grafische Elemente sind in manchen Fällen keine, falsche oder unzureichende Alternativen vorhanden.</li><li>Grafiken und Bedienelementen fehlen in manchen Fällen korrekte Auszeichnungen, so dass sie von Assistenzsystemen nicht richtig erfasst werden können.</li><li>Die Sprache in Alternativtexten ist teilweise in Englisch angegeben ohne das der Sprachwechsel korrekt ausgezeichnet ist.</li><li>Listeneinträge, Tabellen(-spalten) und Formulare sind teilweise nicht korrekt ausgezeichnet.</li><li>Die sichtbare Reihenfolge von Seitenelementen weicht teilweise von der Reihenfolge im Quelltext ab.</li><li>Die Mindestanforderung an Kontraste ist nicht überall erfüllt.</li><li>Die Tastatursteuerung ist nicht uneingeschränkt benutzbar.</li><li>Auf der Startseite fehlt die Bereitstellung der Erläuterungen über die Website in Leichter Sprache und in Deutscher Gebärdensprache.</li><li>&nbsp;</li></ul><p>Zudem können von Nutzerinnen und Nutzern eingestellte Inhalte, z.B. PDFs oder Videos, Barrieren aufweisen.</p><p>Stud.IP wurde in Bezug auf Barrierefreiheit überarbeitet. Folgende Maßnahmen zur Verringerung von Barrieren sind in die Releases ab Stud.IP-Version 5.1 eingeflossen:</p><ul><li>Attribute und Alternativtexte wurden hinzugefügt und korrigiert, damit Screen Reader Schaltflächen, Links, Bedienelemente und Grafiken korrekt interpretieren und passende Texte ausgeben können.</li><li>Die Hierarchien von Überschriften und Reihenfolge von Seitenelementen wurden überarbeitet/korrigiert.</li><li>Sprachauszeichnungen wurden vereinheitlicht.</li><li>Listeneinträge, Tabellen(-spalten) und Formulare wurden korrekt ausgezeichnet und sinnvoll verknüpft.</li><li>Eine Möglichkeit den Kontrast zu verändern, wurde implementiert.</li><li>Die Tastatursteuerung wurde korrigiert.</li><li>Aktionsmenüs und Akkordeonelemente wurden überarbeitet.</li><li>Die responsive Navigation wurde verbessert.</li><li>Eine Mustererklärung zur leichten Sprache soll in Stud.IP 5.5 eingehen.</li></ul><p>&nbsp;</p><p>Folgende Inhalte sind aufgrund der Absicht, ein höheres Maß an digitaler Barrierefreiheit als gesetzlich gefordert umzusetzen, realisiert:<br>[Geben Sie die jeweiligen Inhalte an]</p><h2>Datum der Erstellung bzw. der letzten Aktualisierung der Erklärung</h2><p>Diese Erklärung wurde am [09/2023] erstellt und zuletzt am [Datum] aktualisiert.</p><h2>Barrieren melden: Kontakt zu den Feedback Ansprechpartnern</h2><p>Sie möchten uns bestehende Barrieren mitteilen oder Informationen zur Umsetzung der Barrierefreiheit erfragen? Für Ihr Feedback sowie alle weiteren Informationen sprechen Sie unsere verantwortlichen Kontaktpersonen unter xxx an.</p><p>[verlinkte URL mit Namen des Feedback-Mechanismus, z. B. „Barrieren melden“ angeben. Dabei sollte der Leitfaden „Erklärung zur Barrierefreiheit“ und der Leitfaden „Feedback-Mechanismus“ beachtet werden]</p><h2>Schlichtungsverfahren</h2><p>[Nicht zutreffende Stelle streichen ggf. Stelle Ihres Bundeslandes einfügen]</p><p>Wenn auch nach Ihrem Feedback an den oben genannten Kontakt keine zufriedenstellende Lösung gefunden wurde, können Sie sich an die Schlichtungsstelle nach § 16 BGG wenden. Die Schlichtungsstelle BGG hat die Aufgabe, bei Konflikten zum Thema Barrierefreiheit zwischen Menschen mit Behinderungen und öffentlichen Stellen des Bundes eine außergerichtliche Streitbeilegung zu unterstützen. Das Schlichtungsverfahren ist kostenlos. Es muss kein Rechtsbeistand eingeschaltet werden. Weitere Informationen zum Schlichtungsverfahren und den Möglichkeiten der Antragstellung erhalten Sie unter: <a href=\"http://www.schlichtungsstelle-bgg.de/\"><u>www.schlichtungsstelle-bgg.de</u></a>.</p><p>Direkt kontaktieren können Sie die Schlichtungsstelle BGG unter <a href=\"mailto:info@schlichtungsstelle-bgg.de\"><u>info@schlichtungsstelle-bgg.de</u></a>.</p><p>(:reportbarrierlink:)[/lang]&nbsp;</p><p>[lang=en]</p><h1>Sample Text Accessibility Statement</h1><p>[Text in square brackets may need to be added, deleted, or linguistically adjusted depending on the outcome of the accessibility review].</p><p>This accessibility statement applies to the Stud.IP installation at the [add URL of; please specify version and date] of the [add operator of Stud.IP installation].</p><p>As a public body within the meaning of Directive (EU) 2016/2102, we strive to make our websites and mobile applications accessible in accordance with the provisions of the Federal Disability Equality Act (BGG) and the Barrier-Free Information Technology Ordinance (BITV 2.0) implementing Directive (EU) 2016/2102.</p><p>[Here, if necessary, insert the respective state ordinance additionally, e.g. for Lower Saxony § 9 NBGG].</p><h2>Status of compatibility with the requirements</h2><p>The accessibility requirements result from §§ 3 paragraphs 1 to 4 and 4 of BITV 2.0, which was issued on the basis of § 12d BGG.</p><p>The review of compliance with the requirements is based on</p><p>an assessment performed by Materna Information &amp; Communications SE in the beginning of 2022. The benchmark for the test is EN 301 549 and the A and AA status of WCAG 2.1. The requirements of WCAG 2.1 (conformance levels A and AA) were checked using the 98 test steps of the BITV/WCAG test.</p><p>The check refers to Stud.IP release 5.0 [Plugins and content must be checked site-specifically and documented/adapted to this statement if necessary. Please add if necessary].</p><p>This Stud.IP installation is not fully compliant with the accessibility regulations that apply to us. In detail:</p><ul><li>Heading hierarchies are not fully respected on some pages.</li><li>In some cases, there are no, incorrect or insufficient alternatives for images, control elements and graphical elements.</li><li>Graphics and control elements lack correct markup in some cases, so that they cannot be correctly detected by assistance systems.</li><li>The language in alternative texts is sometimes specified in English without the language change being correctly marked.</li><li>List entries, tables (columns) and forms are sometimes not correctly labelled.</li><li>The visible order of page elements sometimes differs from the order in the source text.</li><li>The minimum requirement for contrasts is not met everywhere.</li><li>The keyboard control is not fully usable.</li><li>The home page lacks the provision of explanations about the website in plain language and in German sign language.</li></ul><p>In addition, content posted by users, e.g. PDFs or videos, may have barriers.</p><p>Stud.IP is currently being revised with regard to accessibility. The following measures to reduce barriers are expected to be included in the release of Stud.IP 5.1 and following:</p><ul><li>Attributes and alternative texts are added and corrected so that screen readers can correctly interpret buttons, links, controls and graphics and output appropriate texts.</li><li>Heading hierarchies and page element order are revised/corrected.</li><li>Language mark-ups will be standardized.</li><li>List entries, tables (columns) and forms will be labelled correctly and linked in a meaningful way.</li><li>A possibility to change the contrast is implemented.</li><li>The keyboard control is corrected.</li><li>Action menus and accordion elements are revised.</li><li>Responsive navigation will be improved.</li><li>A sample declaration on easy language should be included in Stud.IP 5.5.</li></ul><p>&nbsp;</p><p>The following content is implemented due to the intention to implement a higher level of digital accessibility than required by law:</p><p>[Specify the respective content]</p><h2>Date of preparation or last update of the declaration</h2><p>This statement was created on [09/2021] and last updated on [date].</p><h2>Report Barriers: Contact Feedback Contacts</h2><p>Would you like to report existing barriers or request information on implementing accessibility? For your feedback as well as any further information, please contact our responsible contact persons at xxx.</p><p>[provide linked URL with name of feedback mechanism, e.g. \"Report barriers\". The \"Accessibility Statement\" guide and the \"Feedback Mechanism\" guide should be followed].</p><h2>Arbitration</h2><p>[Delete non-applicable body, if necessary insert body of your federal state].</p><p>If a satisfactory solution has not been found even after you have sent feedback to the above-mentioned contact, you can turn to the conciliation body pursuant to Section 16 BGG. The BGG conciliation body is tasked with supporting out-of-court dispute resolution in the event of conflicts on the topic of accessibility between people with disabilities and federal public agencies. The conciliation procedure is free of charge. No legal counsel needs to be involved. For more information on the conciliation process and how to submit a request, visit: www.schlichtungsstelle-bgg.de.</p><p>You can contact the BGG conciliation body directly at <a href=\"mailto:info@schlichtungsstelle-bgg.de\"><u>info@schlichtungsstelle-bgg.de</u></a>.</p><p>(:reportbarrierlink:)[/lang]</p>');
+INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `draft_status`, `page_disabled_nobody`, `name`, `content`) VALUES(1, 1, 1, 0, 0, '[lang=de]Ansprechpartner[/lang][lang=en]Contact[/lang]', '[style=float: right]\r\n[img]https://develop.studip.de/logos/logoklein.png\r\n**Version:** (:version:)\r\n[/style]\r\n[lang=de]Für diese Stud.IP-Installation ((:uniname:)) sind folgende Administratoren zuständig:[/lang]\r\n[lang=en]The following administrators are responsible for this Stud.IP installation ((:uniname:)):[/lang]\r\n(:rootlist:)\r\n[lang=de]allgemeine Anfragen wie Passwort-Anforderungen u.a. richten Sie bitte an:[/lang]\r\n[lang=en]General queries e.g., password queries, please contact:[/lang]\r\n(:unicontact:)\r\n[lang=de]Folgende Einrichtungen sind beteiligt:\r\n(Genannt werden die jeweiligen Administratoren der Einrichtungen für entsprechende Anfragen)[/lang]\r\n[lang=en]The following institutes participate:\r\n(Named are the institutes administrators responsible for the corresponding query areas)[/lang]\r\n(:adminlist:)');
+INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `draft_status`, `page_disabled_nobody`, `name`, `content`) VALUES(2, 1, 2, 0, 0, '[lang=de]Entwickler[/lang][lang=en]Developer[/lang]', '[style=float: right]\r\n\r\n[img]https://develop.studip.de/logos/logoklein.png\r\n\r\n**Version:** (:version:)\r\n\r\n[/style]\r\n\r\n[lang=de]Stud.IP ist ein Open Source Projekt zur Unterstützung von Präsenzlehre an Universitäten, Hochschulen und anderen Bildungseinrichtungen. Das System entstand am Zentrum für interdisziplinäre Medienwissenschaft (ZiM) der Georg-August-Universität Göttingen unter Mitwirkung der Suchi & Berg GmbH (data-quest) , Göttingen. Heute erfolgt die Weiterentwicklung von Stud.IP verteilt an vielen Standorten (Göttingen, Osnabrück, Oldenburg, Bremen, Hannover, Jena und weiteren). Die Koordination der Entwicklung erfolgt durch die Stud.IP-CoreGroup.\r\n\r\nStud.IP steht unter der GNU General Public License, Version 2.\r\n\r\n\r\n\r\nWeitere Informationen finden sie auf ** [www.studip.de]http://www.studip.de **,**  [develop.studip.de]http://develop.studip.de **.[/lang]\r\n\r\n\r\n\r\n[lang=en]Stud.IP is an opensource project for supporting attendance courses offered by universities, institutions of higher education and other educational institutions. The system was established at the Zentrum für interdisziplinäre Medienwissenschaft (ZiM) in the Georg-August-Universität Göttingen in cooperation with Suchi & Berg GmbH (data-quest) , Göttingen. At the present further developing takes place at various locations (among others Göttingen, Osnabrück, Oldenburg, Bremen, Hannover, Jena) under coordination through the Stud.IP-CoreGroup.\r\n\r\n\r\n\r\nStud.IP is covered by the GNU General Public Licence, version 2.\r\n\r\n\r\n\r\nFurther information can be found under ** [www.studip.de]http://www.studip.de **,**  [develop.studip.de]http://develop.studip.de **.[/lang]\r\n\r\n\r\n\r\n(:coregroup:)\r\n\r\n[lang=de]Sie erreichen uns auch über folgende **Mailinglisten**:\r\n\r\n\r\n\r\n**Nutzer-Anfragen**, E-Mail: studip-users@lists.sourceforge.net : Fragen, Anregungen und Vorschläge an die Entwickler - bitte __keine__ Passwort Anfragen!\r\n\r\n**News-Mailingsliste**, E-Mail: studip-news@lists.sourceforge.net : News rund um Stud.IP (Eintragung notwendig)\r\n\r\n\r\n\r\nWir laden alle Entwickler, Betreiber und Nutzer von Stud.IP ein, sich auf dem Developer-Server http://develop.studip.de an den Diskussionen rund um die Weiterentwicklung und Nutzung der Plattform zu beteiligen.[/lang]\r\n\r\n[lang=en]You can contact us via the following **mailing lists**:\r\n\r\n\r\n\r\n**User enquiries**, E-Mail: studip-users@lists.sourceforge.net : Questions, suggestions and recommendations to the developers - __please no password queries__!\r\n\r\n\r\n\r\n**News mailing list**, E-Mail: studip-news@lists.sourceforge.net : News about Stud.IP (registration necessary)\r\n\r\n\r\n\r\nWe invite all developers, administrators and users of Stud.IP to join the discussions on further developing and using the platform available at the developer server http://develop.studip.de[/lang]');
+INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `draft_status`, `page_disabled_nobody`, `name`, `content`) VALUES(5, 2, 1, 0, 0, 'History', '(:history:)');
+INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `draft_status`, `page_disabled_nobody`, `name`, `content`) VALUES(7, 1, 3, 0, 0, 'Datenschutzerklärung', '<!--HTML--><p>[lang=de]</p><h1><strong>Mustertext Datenschutzerklärung</strong></h1><p>Es handelt sich um einen Mustertext. Bitte passen Sie die entsprechenden Stellen in eckigen Klammern an und ergänzen, wo nötig, entsprechende Kontaktdaten/Links und streichen Unzutreffendes!</p><p>&nbsp;</p><h1><strong>Datenschutzerklärung:</strong></h1><p>Sie erhalten als Nutzer/in unserer Internetseite in dieser Datenschutzerklärung notwendige Informationen darüber, wie und in welchem Umfang sowie zu welchem Zweck die <strong>[Betreibereinrichtung]</strong> Daten von Ihnen erhebt und wie diese verwendet werden. Die Daten werden nur innerhalb der <strong>[Betreibereinrichtung]</strong> verarbeitet und verwendet und nicht an Dritte weitergegeben.&nbsp;<br><br><strong>1. Rechtsgrundlagen</strong>&nbsp;<br>Die Erhebung und Nutzung Ihrer Daten erfolgt streng nach den gesetzlichen Vorgaben. Regelungen dazu finden sich in:&nbsp;&nbsp;<br>&nbsp;</p><ul><li>Europäische Datenschutzgrundverordnung (EU DSGVO)</li><li>Bundesdatenschutzgesetz (BDSG)</li><li>Niedersächsisches Datenschutzgesetz (NDSG)</li><li>Teledienstegesetz (TDG)</li><li>Mediendienste-Staatsvertrag (MDStV)</li><li>Teledienstedatenschutzgesetz (TDDSG)</li></ul><p>&nbsp;</p><p><strong>2. Personenbezogene Daten</strong>&nbsp;<br>Personenbezogene Daten werden zum Zwecke der administrativen Nutzerverwaltung, zur Kontaktaufnahme und Interaktion mit Ihnen sowie zur Bereitstellung personalisierter Dienste <i>[zur Durchführung Ihres Studiums bzw. Ihrer Arbeit an</i> <i><strong>[Betreibereinrichtung]]</strong></i> von uns gespeichert.&nbsp;<br>Für die Nutzung von Stud.IP werden folgende Daten abgefragt und gespeichert:</p><ul><li>Nutzername</li><li>Vorname, Nachname</li><li>Mailadresse</li><li>[ggf. weitere Daten]</li></ul><p>Weitere Daten von Ihnen, die evtl. gespeichert werden, sind Inhalte, die Sie selbst im Rahmen Ihrer Arbeit selbst in Stud.IP einstellen. Dazu gehören:</p><ul><li>Freiwillige Angaben zur Person</li><li>Beiträge in Foren</li><li>hochgeladene Dateien</li><li>Chatverläufe</li><li>interne Nachrichten</li><li>Kalendereinträge und Stundenpläne</li><li>Teilnahme an Lehrveranstaltungen, Studiengruppen, Gremien</li><li>Persönliche Einstellungen und Konfigurationen</li><li>[ggf. Plugindaten]</li></ul><p>Diese Inhalte werden mit Ihrem Klarnamen gespeichert und angezeigt. Sie haben die Möglichkeit über die Privatsphäreeinstellungen selbst zu bestimmen, ob und ggf. welche Personengruppen diese Daten sehen dürfen. Diese Daten werden von Stud.IP intern verschlüsselt abgelegt.&nbsp;<br><br><br><strong>3. Aufbewahrungsfristen&nbsp;</strong>&nbsp;<br>Ihre personenbezogenen Daten werden für die Dauer Ihres Studiums/Ihrer Arbeit bei <strong>[Betreibereinrichtung]</strong> gespeichert. Nach Beendigung Ihrer Tätigkeit und Ablauf der gesetzlichen Aufbewahrungsfristen werden Ihre Daten gelöscht.</p><p><strong>4. Auskunft, Löschung, Sperrung</strong>&nbsp;<br>Sie erhalten jederzeit auf Anfrage Auskunft über die von uns über Sie gespeicherten personenbezogenen Daten sowie dem Zweck von Datenerhebung sowie Datenverarbeitung. Bitte wenden Sie sich hierzu an u.g. Kontaktadresse.&nbsp;<br><br>Außerdem haben Sie das Recht, die Berichtigung, die Sperrung oder Löschung Ihrer Daten zu verlangen. Sie können Ihre Einwilligung ohne Angabe von Gründen durch Schreiben an die o.g. Kontaktadresse widerrufen. Ihre Daten werden dann umgehend gelöscht. Eine weitere Nutzung von Stud.IP <strong>[der Betreibereinrichtung]</strong> ist dann aber nicht mehr möglich.&nbsp;<br><br>Ausgenommen von der Löschung sind Daten, die aufgrund gesetzlicher Vorschriften aufbewahrt oder zur ordnungsgemäßen Geschäftsabwicklung benötigt werden. Damit eine Datensperre jederzeit realisiert werden kann, werden Daten zu Kontrollzwecken in einer Sperrdatei vorgehalten.&nbsp;<br><br>Werden Daten nicht von einer gesetzlichen Archivierungspflicht erfasst, löschen wir Ihre Daten auf Ihren Wunsch. Greift die Archivierungspflicht, sperren wir Ihre Daten. Für alle Fragen und Anliegen zur Berichtigung, Sperrung oder Löschung von personenbezogenen Daten wenden Sie sich bitte an unsere Datenschutzbeauftragten unter den Kontaktdaten in dieser Datenschutzerklärung bzw. an die im Impressum genannte Adresse.&nbsp;<br><br><br><strong>5. Datenübertragbarkeit</strong>&nbsp;<br>Sie haben das Recht, jederzeit Ihre Daten ausgehändigt zu bekommen. Auf Anfrage stellen wir Ihnen Ihre Daten in menschenlesbaren, gängigen und bearbeitbaren Formaten zur Verfügung.&nbsp;<br><br><br><strong>6. Cookies</strong>&nbsp;<br>Stud.IP verwendet ein Session-Cookie. Diese kleine Textdatei beinhaltet lediglich eine verschlüsselte Zeichenfolge, die bei der Navigation im System hilft. Das Cookie wird bei der Abmeldung aus Stud.IP oder beim Schließen des Browsers gelöscht.&nbsp;<br><br><br><strong>7. Server Logfiles</strong>&nbsp;<br>Mit dem Zugriff auf Stud.IP werden IP-Adresse, Datum, Uhrzeit und Browserversion zum Zeitpunkt des Zugriffs registriert und anonymisiert gespeichert. Die Erhebung und Nutzung dieser Log-File-Daten dient lediglich der Auswertung zu rein statistischen Forschungs- und Evaluationszwecken der Lernplattform, werden also nicht in Verbindung mit Namen oder Mailadresse gespeichert oder ausgewertet. Diese Daten werden für die Zeit von <strong>[X]</strong> Monaten auf gesicherten Systemen der <strong>[Betreibereinrichtung]</strong> gespeichert und ebenfalls nicht an Dritte weitergegeben.&nbsp;<br><br><br><strong>8. SSL-Verschlüsselung</strong>&nbsp;<br>Die Verbindung zu Stud.IP erfolgt mit einer SSL-Verschlüsselung. Über SSL verschlüsselte Daten sind nicht von Dritten lesbar. Übermitteln Sie Ihre vertraulichen Informationen nur bei aktivierter SSL-Verschlüsselung und wenden Sie sich im Zweifel an uns.</p><p><br><strong>9. Kontaktdaten</strong></p><p><strong>[Adresse, Verantwortliche Person/ggf. Datenschutzbeauftragte/r, Mailkontakt, Telefonnummer]</strong></p><p>[/lang] [lang=en]</p><p><strong>Sample text privacy policy</strong></p><p>This is a sample text. Please adapt the relevant passages in square brackets and, where necessary, add the relevant contact details/links and delete what does not apply!</p><p><strong>Privacy policy:</strong></p><p>As a user of our website, you will receive the necessary information in this privacy policy about how and to what extent and for what purpose the <strong>[operatoring organization]</strong> collects data from you and how it is used. The data will only be processed and used within the <strong>[operating organization]</strong> and will not be passed on to third parties.</p><p><strong>1. Legal basis</strong></p><p>Your data is collected and used strictly in accordance with legal requirements. Regulations can be found in:</p><p>· European General Data Protection Regulation (EU GDPR)</p><p>· Federal Data Protection Act (BDSG)</p><p>· Lower Saxony Data Protection Act (NDSG)</p><p>· Teleservices Act (TDG)</p><p>· Interstate Media Services Treaty (MDStV)</p><p>· Teleservices Data Protection Act (TDDSG)</p><p><strong>2. Personal data</strong></p><p>Personal data is stored by us for the purpose of administrative user management, for contacting and interacting with you and for providing personalised services <i>[to carry out your studies or your work at</i> <i><strong>[operating institution]]</strong></i>.</p><p>The following data is requested and stored for the use of Stud.IP:</p><p>· User name</p><p>· First name, surname</p><p>· e-mail address</p><p>· [other data if applicable]</p><p>Other data that may be stored are contents that you yourself enter in Stud.IP as part of your work. This includes</p><p>· Voluntary personal details</p><p>· Posts in forums</p><p>· Uploaded files</p><p>· chat histories</p><p>· internal messages</p><p>· Calendar entries and timetables</p><p>· Participation in courses, study groups, committees</p><p>· Personal settings and configurations</p><p>· [Plugin data, if applicable]</p><p>This content is saved and displayed with your real name. You can use the privacy settings to determine whether and, if so, which groups of people are allowed to see this data. This data is stored internally encrypted by Stud.IP.</p><p><strong>3. Retention periods</strong></p><p>Your personal data will be stored for the duration of your studies/your work at <strong>[operating organization]</strong>. Your data will be deleted after the end of your employment and expiry of the statutory retention periods.</p><p><strong>4. Information, deletion, blocking</strong></p><p>You can request information about the personal data we have stored about you and the purpose of data collection and data processing at any time. Please use the contact address below for this purpose.</p><p>You also have the right to request the correction, blocking or deletion of your data. You can revoke your consent without giving reasons by writing to the above contact address. Your data will then be deleted immediately. However, further use of Stud.IP [the operating organization] is then no longer possible.</p><p>Excluded from the deletion are data that are stored due to legal regulations or are required for proper business transactions. To ensure that a data lock can be realised at any time, data is stored in a lock file for control purposes.</p><p>&nbsp;</p><p>If data is not covered by a statutory archiving obligation, we will delete your data at your request. If the archiving obligation applies, we will block your data. For all questions and concerns regarding the correction, blocking or deletion of personal data, please contact our data protection officer using the contact details in this privacy policy.</p><p><strong>5. Data portability</strong></p><p>You have the right to receive your data at any time. On request, we will provide you with your data in human-readable, common and editable formats.</p><p><strong>6. Cookies</strong></p><p>Stud.IP uses a session cookie. This small text file only contains an encrypted character string that helps you navigate the system. The cookie is deleted when you log out of Stud.IP or close the browser.</p><p><strong>7. Server log files</strong></p><p>When Stud.IP is accessed, the IP address, date, time and browser version at the time of access are registered and stored in anonymised form. This log file data is only collected and used for purely statistical research and evaluation purposes of the learning platform and is therefore not stored or analysed in connection with names or email addresses. This data is stored for a period of <strong>[X]</strong> months on secure systems of the <strong>[operating organization]</strong> and is also not passed on to third parties.</p><p><strong>8. SSL encryption</strong></p><p>The connection to Stud.IP is made using SSL encryption. Data encrypted via SSL cannot be read by third parties. Only transmit your confidential information if SSL encryption is activated and contact us if in doubt.</p><p><strong>9. Contact details</strong></p><p><strong>[Address, person responsible / data protection officer, email contact, telephone number]</strong></p><p>&nbsp;</p><p>[/lang]</p>');
+INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `draft_status`, `page_disabled_nobody`, `name`, `content`) VALUES(8, 1, 4, 0, 0, 'Barrierefreiheitserklärung', '<!--HTML--><p>[lang=de]</p> <h1>Mustertext Erklärung zur Barrierefreiheit für Stud.IP</h1><p>[Text in eckigen Klammern ist ggf. zu ergänzen, zu streichen oder sprachlich anzupassen, je nachdem, wie das Ergebnis der Überprüfung der Barrierefreiheit ausfällt.]</p><p>Diese Erklärung zur Barrierefreiheit gilt für die Stud.IP-Installation unter der [URL der ergänzen; bitte Version und Datum angeben] der [Betreiber der Stud.IP-Installation ergänzen].</p><p>Als öffentliche Stelle im Sinne der Richtlinie (EU) 2016/2102 sind wir bemüht, unsere Websites und mobilen Anwendungen im Einklang mit den Bestimmungen des Behindertengleichstellungsgesetzes des Bundes (BGG) sowie der Barrierefreien-Informationstechnik-Verordnung (BITV 2.0) zur Umsetzung der Richtlinie (EU) 2016/2102 barrierefrei zugänglich zu machen.</p><p>[Hier ggf. jeweilige Landesverordnung zusätzlich einfügen, z.B. für Niedersachsen <i>§ 9 NBGG.</i>]</p><h2>Stand der Vereinbarkeit mit den Anforderungen</h2><p>Die Anforderungen der Barrierefreiheit ergeben sich aus §§ 3 Absätze 1 bis 4 und 4 der BITV 2.0, die auf der Grundlage von § 12d BGG erlassen wurde.</p><p>Die Überprüfung der Einhaltung der Anforderungen beruht auf einer von Materna Information &amp; Communications SE Anfang 2022 vorgenommenen Bewertung. Maßstab der Prüfung ist die EN 301 549 und der A sowie AA Status der WCAG 2.1. Überprüft wurden die Vorgaben der WCAG 2.1 (Konformitätsstufen A und AA) anhand der 98 Prüfschritte des BITV/WCAG-Tests.</p><p>Die Überprüfung bezieht sich auf das Stud.IP-Release 5.0 [Plugins und Inhalte müssen standortspezifisch geprüft und ggf. dokumentiert/diese Erklärung angepasst werden. Bitte ggf. ergänzen.]</p><p>Diese Stud.IP-Installation ist nicht vollständig mit den für uns geltenden Vorschriften zur Barrierefreiheit vereinbar. Im Einzelnen:</p><ul><li>Überschriftenhierarchien werden auf manchen Seiten nicht vollständig eingehalten.</li><li>Für Bilder, Bedienelemente und grafische Elemente sind in manchen Fällen keine, falsche oder unzureichende Alternativen vorhanden.</li><li>Grafiken und Bedienelementen fehlen in manchen Fällen korrekte Auszeichnungen, so dass sie von Assistenzsystemen nicht richtig erfasst werden können.</li><li>Die Sprache in Alternativtexten ist teilweise in Englisch angegeben ohne das der Sprachwechsel korrekt ausgezeichnet ist.</li><li>Listeneinträge, Tabellen(-spalten) und Formulare sind teilweise nicht korrekt ausgezeichnet.</li><li>Die sichtbare Reihenfolge von Seitenelementen weicht teilweise von der Reihenfolge im Quelltext ab.</li><li>Die Mindestanforderung an Kontraste ist nicht überall erfüllt.</li><li>Die Tastatursteuerung ist nicht uneingeschränkt benutzbar.</li><li>Auf der Startseite fehlt die Bereitstellung der Erläuterungen über die Website in Leichter Sprache und in Deutscher Gebärdensprache.</li><li>&nbsp;</li></ul><p>Zudem können von Nutzerinnen und Nutzern eingestellte Inhalte, z.B. PDFs oder Videos, Barrieren aufweisen.</p><p>Stud.IP wurde in Bezug auf Barrierefreiheit überarbeitet. Folgende Maßnahmen zur Verringerung von Barrieren sind in die Releases ab Stud.IP-Version 5.1 eingeflossen:</p><ul><li>Attribute und Alternativtexte wurden hinzugefügt und korrigiert, damit Screen Reader Schaltflächen, Links, Bedienelemente und Grafiken korrekt interpretieren und passende Texte ausgeben können.</li><li>Die Hierarchien von Überschriften und Reihenfolge von Seitenelementen wurden überarbeitet/korrigiert.</li><li>Sprachauszeichnungen wurden vereinheitlicht.</li><li>Listeneinträge, Tabellen(-spalten) und Formulare wurden korrekt ausgezeichnet und sinnvoll verknüpft.</li><li>Eine Möglichkeit den Kontrast zu verändern, wurde implementiert.</li><li>Die Tastatursteuerung wurde korrigiert.</li><li>Aktionsmenüs und Akkordeonelemente wurden überarbeitet.</li><li>Die responsive Navigation wurde verbessert.</li><li>Eine Mustererklärung zur leichten Sprache soll in Stud.IP 5.5 eingehen.</li></ul><p>&nbsp;</p><p>Folgende Inhalte sind aufgrund der Absicht, ein höheres Maß an digitaler Barrierefreiheit als gesetzlich gefordert umzusetzen, realisiert:<br>[Geben Sie die jeweiligen Inhalte an]</p><h2>Datum der Erstellung bzw. der letzten Aktualisierung der Erklärung</h2><p>Diese Erklärung wurde am [09/2023] erstellt und zuletzt am [Datum] aktualisiert.</p><h2>Barrieren melden: Kontakt zu den Feedback Ansprechpartnern</h2><p>Sie möchten uns bestehende Barrieren mitteilen oder Informationen zur Umsetzung der Barrierefreiheit erfragen? Für Ihr Feedback sowie alle weiteren Informationen sprechen Sie unsere verantwortlichen Kontaktpersonen unter xxx an.</p><p>[verlinkte URL mit Namen des Feedback-Mechanismus, z. B. „Barrieren melden“ angeben. Dabei sollte der Leitfaden „Erklärung zur Barrierefreiheit“ und der Leitfaden „Feedback-Mechanismus“ beachtet werden]</p><h2>Schlichtungsverfahren</h2><p>[Nicht zutreffende Stelle streichen ggf. Stelle Ihres Bundeslandes einfügen]</p><p>Wenn auch nach Ihrem Feedback an den oben genannten Kontakt keine zufriedenstellende Lösung gefunden wurde, können Sie sich an die Schlichtungsstelle nach § 16 BGG wenden. Die Schlichtungsstelle BGG hat die Aufgabe, bei Konflikten zum Thema Barrierefreiheit zwischen Menschen mit Behinderungen und öffentlichen Stellen des Bundes eine außergerichtliche Streitbeilegung zu unterstützen. Das Schlichtungsverfahren ist kostenlos. Es muss kein Rechtsbeistand eingeschaltet werden. Weitere Informationen zum Schlichtungsverfahren und den Möglichkeiten der Antragstellung erhalten Sie unter: <a href=\"http://www.schlichtungsstelle-bgg.de/\"><u>www.schlichtungsstelle-bgg.de</u></a>.</p><p>Direkt kontaktieren können Sie die Schlichtungsstelle BGG unter <a href=\"mailto:info@schlichtungsstelle-bgg.de\"><u>info@schlichtungsstelle-bgg.de</u></a>.</p><p>(:reportbarrierlink:)[/lang]&nbsp;</p><p>[lang=en]</p><h1>Sample Text Accessibility Statement</h1><p>[Text in square brackets may need to be added, deleted, or linguistically adjusted depending on the outcome of the accessibility review].</p><p>This accessibility statement applies to the Stud.IP installation at the [add URL of; please specify version and date] of the [add operator of Stud.IP installation].</p><p>As a public body within the meaning of Directive (EU) 2016/2102, we strive to make our websites and mobile applications accessible in accordance with the provisions of the Federal Disability Equality Act (BGG) and the Barrier-Free Information Technology Ordinance (BITV 2.0) implementing Directive (EU) 2016/2102.</p><p>[Here, if necessary, insert the respective state ordinance additionally, e.g. for Lower Saxony § 9 NBGG].</p><h2>Status of compatibility with the requirements</h2><p>The accessibility requirements result from §§ 3 paragraphs 1 to 4 and 4 of BITV 2.0, which was issued on the basis of § 12d BGG.</p><p>The review of compliance with the requirements is based on</p><p>an assessment performed by Materna Information &amp; Communications SE in the beginning of 2022. The benchmark for the test is EN 301 549 and the A and AA status of WCAG 2.1. The requirements of WCAG 2.1 (conformance levels A and AA) were checked using the 98 test steps of the BITV/WCAG test.</p><p>The check refers to Stud.IP release 5.0 [Plugins and content must be checked site-specifically and documented/adapted to this statement if necessary. Please add if necessary].</p><p>This Stud.IP installation is not fully compliant with the accessibility regulations that apply to us. In detail:</p><ul><li>Heading hierarchies are not fully respected on some pages.</li><li>In some cases, there are no, incorrect or insufficient alternatives for images, control elements and graphical elements.</li><li>Graphics and control elements lack correct markup in some cases, so that they cannot be correctly detected by assistance systems.</li><li>The language in alternative texts is sometimes specified in English without the language change being correctly marked.</li><li>List entries, tables (columns) and forms are sometimes not correctly labelled.</li><li>The visible order of page elements sometimes differs from the order in the source text.</li><li>The minimum requirement for contrasts is not met everywhere.</li><li>The keyboard control is not fully usable.</li><li>The home page lacks the provision of explanations about the website in plain language and in German sign language.</li></ul><p>In addition, content posted by users, e.g. PDFs or videos, may have barriers.</p><p>Stud.IP is currently being revised with regard to accessibility. The following measures to reduce barriers are expected to be included in the release of Stud.IP 5.1 and following:</p><ul><li>Attributes and alternative texts are added and corrected so that screen readers can correctly interpret buttons, links, controls and graphics and output appropriate texts.</li><li>Heading hierarchies and page element order are revised/corrected.</li><li>Language mark-ups will be standardized.</li><li>List entries, tables (columns) and forms will be labelled correctly and linked in a meaningful way.</li><li>A possibility to change the contrast is implemented.</li><li>The keyboard control is corrected.</li><li>Action menus and accordion elements are revised.</li><li>Responsive navigation will be improved.</li><li>A sample declaration on easy language should be included in Stud.IP 5.5.</li></ul><p>&nbsp;</p><p>The following content is implemented due to the intention to implement a higher level of digital accessibility than required by law:</p><p>[Specify the respective content]</p><h2>Date of preparation or last update of the declaration</h2><p>This statement was created on [09/2021] and last updated on [date].</p><h2>Report Barriers: Contact Feedback Contacts</h2><p>Would you like to report existing barriers or request information on implementing accessibility? For your feedback as well as any further information, please contact our responsible contact persons at xxx.</p><p>[provide linked URL with name of feedback mechanism, e.g. \"Report barriers\". The \"Accessibility Statement\" guide and the \"Feedback Mechanism\" guide should be followed].</p><h2>Arbitration</h2><p>[Delete non-applicable body, if necessary insert body of your federal state].</p><p>If a satisfactory solution has not been found even after you have sent feedback to the above-mentioned contact, you can turn to the conciliation body pursuant to Section 16 BGG. The BGG conciliation body is tasked with supporting out-of-court dispute resolution in the event of conflicts on the topic of accessibility between people with disabilities and federal public agencies. The conciliation procedure is free of charge. No legal counsel needs to be involved. For more information on the conciliation process and how to submit a request, visit: www.schlichtungsstelle-bgg.de.</p><p>You can contact the BGG conciliation body directly at <a href=\"mailto:info@schlichtungsstelle-bgg.de\"><u>info@schlichtungsstelle-bgg.de</u></a>.</p><p>(:reportbarrierlink:)[/lang]</p>');
+INSERT INTO `siteinfo_details` (`detail_id`, `rubric_id`, `position`, `draft_status`, `page_disabled_nobody`, `name`, `content`) VALUES(9, 1, 5, 1, 0, 'Leichte Sprache', '++**Leichte Sprache**\n\n1) Beschreibung des Anbieters und des Zwecks der Seite\nDies sind die Internet-Seiten für Inhalte zum Lernen und Lehren von **[Einrichtung einsetzen]** .\nEine [anpassen: Universität/Hochschule/Volks-Hochschule/ oder anderes] ist ein Ort an dem man nach der normalen Schule weiter lernen kann.\nWenn man hier lernt [ggf. anpassen/arbeitet/eine Ausbildung macht] oder als Lehrer arbeitet, bekommt man Anmelde-Daten.\nWenn man angemeldet ist, findet man Material zum Unterricht.\nAußerdem kann man seinen Kalender und Stundenplan sehen.\nMan kann mit anderen Nachrichten schreiben.\n\n2) Hinweise zur Navigation\nUm sich anzumelden, braucht man einen Benutzer-Namen und ein Passwort.\nBenutzer-Name und Passwort bekommt man von **[Name bzw. Einrichtung angeben].**\nMan meldet sich in dem Kasten an, wo Login steht.\nHilfe bei der Anmeldung findet man [Link von Einrichtung einzusetzen oder Text von Einrichtung zu ergänzen].\n[Falls auf der Startseite vorhanden:\nHilfe gibt es oben rechts [ggf. anpassen] bei dem Fragezeichen.\nGanz unten bei Impressum findet man Angaben dazu, wer die Seite gemacht hat.\nGanz unten bei Datenschutz steht, welche Daten von Besuchern der Seite verwendet werden.\nGanz unten kann man unter Barriere melden sich beschweren, wenn man die Seite nicht bedienen kann.\n\n3) Erläuterung der wesentlichen Inhalte der Erklärung zur Barrierefreiheit\n[Je nach Standort sind ggf. die Gesetzesstellen und Behörden anzupassen.]\n\nErklärung zur Barriere-Freiheit in leichter Sprache\nDie [Betreibername einsetzen] ist für Barriere-Freiheit im Internet.\nDas bedeutet: Alle Menschen bekommen alle wichtigen Infos.\nZum Beispiel können blinde Menschen Vorlese-Programme nutzen.\n\nDie [Betreibername einsetzen] beachtet die Vorschriften.\nDazu ist man gesetzlich verpflichtet.\n\nDas sind:\n- das Behinderten-Gleichstellungs-Gesetz (BGG)\n- Verordnung zur Schaffung barrierefreier Informations-Technik nach dem Behinderten-Gleichstellungs-Gesetz (BITV)\n- das Behinderten-Gleichstellungs-Gesetz des [Bundesland oder Bund einfügen]\n\n[Da es Pflicht ist, auf bekannte Barrieren hinzuweisen, sind diese hier vom jeweiligen Betreiber zusammenzufassen und in leichter Sprache zu erläutern.\nIn etwa:\n- Auf manchen Seiten sind die Überschriften ein bisschen durcheinander. Zum Beispiel: Da steht was unten mit kleinen Buchstaben. Das müsste aber oben mit größeren Buchstaben stehen.\n- Manche Sachen werden so vorgelesen, dass blinde Menschen sie schlecht verstehen. Sie sehen das ja nicht.\n…]\n\nSind Sie nicht zufrieden?\nHaben Sie eine Barriere gefunden?\nSie können uns schreiben.\n**Hier ist ein Formular:**\n[jeweiliges Barriere-melden-Formular am Standort verlinken]\n\n**Hier ist unsere Adresse:**\n[Adresse einfügen]\n\n**Sie können uns anrufen:**\n[Telefonnummer einfügen]\n\nEs gibt die **Schlichtungs-Stelle.**\n\n**Schlichtung** bedeutet:\n- Sich einigen.\n- Sich vertragen.\nDie Schlichtungs-Stelle **hilft bei einem Streit.**\n\nZum Beispiel:\n1. Es gibt eine Barriere bei der [Einrichtung einfügen] auf den Internet-Seiten.\n2. Sie haben sich darüber beschwert.\n3. Die Barriere bleibt aber.\n\nJetzt kann die **Schlichtungs-Stelle helfen.**\nDer Streit muss dann nicht vor ein Gericht.\nBeide Seiten sollen sich vertragen.\nSie können eine **Schlichtung beantragen.**\n\nZum Beispiel:\nSie sind mit einer Antwort von [Einrichtung einfügen] zur Barriere-Freiheit nicht zufrieden.\n\nEine **Schlichtung** kostet nichts.\nSie brauchen **keinen Anwalt.**\nSie können den **Antrag in Leichter Sprache oder in Deutscher Gebärden-Sprache** stellen.\n\n**Hier gibt es weitere Informationen:**\n[Idealerweise Link auf jeweilige Schlichtungsstelle und deren Informationen in leichter Sprache einfügen]\n\n**Hier ist die Adresse der Schlichtungs-Stelle:**\n[jeweils zuständige Stelle einfügen]\n\n**Hier ist die Telefonnummer:**\n[Telefonnummer einfügen]\n\n4) Hinweise auf weitere in diesem Auftritt vorhandene Informationen in Deutscher Gebärdensprache und in Leichter Sprache\n\n[So weitere Hinweise in Leichter Sprache oder Gebärdensprache vorhanden sind, muss auf die entsprechenden Orte verwiesen werden.]\nHier finden Sie weitere Hinweise in Leichter Sprache: [Link einfügen]\nOder:\nEs sind keine weiteren Informationen auf diesen Seiten in leichter oder Gebärden-Sprache enthalten.++\n');
 
 INSERT INTO `siteinfo_rubrics` (`rubric_id`, `position`, `name`) VALUES(1, NULL, '[lang=de]Kontakt[/lang][lang=en]Contact[/lang]');
 INSERT INTO `siteinfo_rubrics` (`rubric_id`, `position`, `name`) VALUES(2, NULL, '[lang=de]Ãœber Stud.IP[/lang][lang=en]About Stud.IP[/lang]');
diff --git a/db/studip_demo_data.sql b/db/studip_demo_data.sql
index 672ace2d7d5..7c0a571595f 100644
--- a/db/studip_demo_data.sql
+++ b/db/studip_demo_data.sql
@@ -9,11 +9,12 @@ REPLACE INTO `abschluss` (`abschluss_id`, `name`, `name_kurz`, `beschreibung`, `
 -- Daten für Tabelle `auth_user_md5`
 --
 
-REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`) VALUES('76ed43ef286fb55cf9e41beadb484a9f', 'root@studip', '$2a$08$SRoCYxAhWPFVF8V8CO15TOyzr.PpLRfVD9lVWVrmmBw4brkRTE/2G', 'root', 'Root', 'Studip', 'root@localhost', '', 'standard', 0, NULL, NULL, 'unknown');
-REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`) VALUES('205f3efb7997a0fc9755da2b535038da', 'test_dozent', '$2a$08$ajIvgEjd17MiiDcFr6msc.xldknH/tTGajUXVhDxDKNJVX0H0iv0i', 'dozent', 'Testaccount', 'Dozent', 'dozent@studip.de', '', 'standard', 0, NULL, NULL, 'unknown');
-REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`) VALUES('6235c46eb9e962866ebdceece739ace5', 'test_admin', '$2a$08$svvSma20vIxIR4J5gc0jIu31gws1WibmiQ/HDhCTukFA5GqhscY1G', 'admin', 'Testaccount', 'Admin', 'admin@studip.de', '', 'standard', 0, NULL, NULL, 'unknown');
-REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`) VALUES('7e81ec247c151c02ffd479511e24cc03', 'test_tutor', '$2a$08$mGhBl85TPsiItumZ4xjbgOnQ1vqIhLAC9giCfWcFzpkE1jqe4lmby', 'tutor', 'Testaccount', 'Tutor', 'tutor@studip.de', '', 'standard', 0, NULL, NULL, 'unknown');
-REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`) VALUES('e7a0a84b161f3e8c09b4a0a2e8a58147', 'test_autor', '$2a$08$xvbrvPhkcsvkzPZsNh.kceLw2IIwiNJ.1jGOwY3.H/dR2f8PG5X3O', 'autor', 'Testaccount', 'Autor', 'autor@studip.de', '', 'standard', 0, NULL, NULL, 'unknown');
+REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`, `matriculation_number`) VALUES('205f3efb7997a0fc9755da2b535038da', 'test_dozent', 0x24326124303824616a497667456a6431374d696944634672366d73632e786c646b6e482f745447616a555856684478444b4e4a565830483069763069, 'dozent', 'Testaccount', 'Dozent', 'dozent@studip.de', '', 'standard', 0, NULL, NULL, 'unknown', NULL);
+REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`, `matriculation_number`) VALUES('6235c46eb9e962866ebdceece739ace5', 'test_admin', 0x24326124303824737676536d6132307649784952344a356763306a49753331677773315769626d69512f4844684354756b4641354771687363593147, 'admin', 'Testaccount', 'Admin', 'admin@studip.de', '', 'standard', 0, NULL, NULL, 'unknown', NULL);
+REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`, `matriculation_number`) VALUES('76ed43ef286fb55cf9e41beadb484a9f', 'root@studip', 0x2432612430382453526f43597841685750465646385638434f3135544f797a722e50704c52665644396c565756726d6d42773462726b5254452f3247, 'root', 'Root', 'Studip', 'root@localhost', '', 'standard', 0, NULL, NULL, 'yes', NULL);
+REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`, `matriculation_number`) VALUES('7e81ec247c151c02ffd479511e24cc03', 'test_tutor', 0x243261243038246d4768426c3835545073694974756d5a34786a62674f6e5131767149684c414339676943665763467a706b45316a7165346c6d6279, 'tutor', 'Testaccount', 'Tutor', 'tutor@studip.de', '', 'standard', 0, NULL, NULL, 'unknown', NULL);
+REPLACE INTO `auth_user_md5` (`user_id`, `username`, `password`, `perms`, `Vorname`, `Nachname`, `Email`, `validation_key`, `auth_plugin`, `locked`, `lock_comment`, `locked_by`, `visible`, `matriculation_number`) VALUES('e7a0a84b161f3e8c09b4a0a2e8a58147', 'test_autor', 0x24326124303824787662727650686b6373766b7a505a734e682e6b63654c7732494977694e4a2e316a474f7759332e482f645232663850473558334f, 'autor', 'Testaccount', 'Autor', 'autor@studip.de', '', 'standard', 0, NULL, NULL, 'unknown', '1234567');
+
 
 --
 -- Daten für Tabelle `config_values`
@@ -23,15 +24,6 @@ REPLACE INTO `config_values` (`field`, `range_id`, `value`, `mkdate`, `chdate`,
 REPLACE INTO `config_values` (`field`, `range_id`, `value`, `mkdate`, `chdate`, `comment`) VALUES('STUDYGROUP_DEFAULT_INST', 'studip', 'ec2e364b28357106c0f8c282733dbe56', 1268739461, 1268739461, '');
 REPLACE INTO `config_values` (`field`, `range_id`, `value`, `mkdate`, `chdate`, `comment`) VALUES('STUDYGROUP_TERMS', 'studip', 'Mir ist bekannt, dass ich die Gruppe nicht zu rechtswidrigen Zwecken nutzen darf. Dazu zählen u.a. Urheberrechtsverletzungen, Beleidigungen und andere Persönlichkeitsdelikte.\r\n\r\nIch erkläre mich damit einverstanden, dass Administratorinnen und Administratoren die Inhalte der Gruppe zu Kontrollzwecken einsehen dürfen.', 1268739461, 1268739461, '');
 
---
--- Daten für Tabelle `datafields`
---
-
-REPLACE INTO `datafields` (`datafield_id`, `name`, `object_type`, `object_class`, `edit_perms`, `view_perms`, `priority`, `mkdate`, `chdate`, `type`, `typeparam`, `is_required`, `default_value`, `is_userfilter`, `description`, `system`) VALUES('ce73a10d07b3bb13c0132d363549efda', 'Matrikelnummer', 'user', '7', 'user', 'dozent', 0, NULL, NULL, 'textline', '', 0, NULL, 0, '', 0);
-
-REPLACE INTO `datafields_entries` (`datafield_id`, `range_id`, `content`, `mkdate`, `chdate`, `sec_range_id`, `lang`) VALUES('ce73a10d07b3bb13c0132d363549efda', 'e7a0a84b161f3e8c09b4a0a2e8a58147', '1234567', 1530292487, 1530292487, '', '');
-
-
 
 --
 -- Dumping data for table `fach`
@@ -56,7 +48,7 @@ REPLACE INTO `file_refs` (`id`, `file_id`, `folder_id`, `downloads`, `descriptio
 -- Dumping data for table `folders`
 --
 
-REPLACE INTO `folders` (`id`, `user_id`, `parent_id`, `range_id`, `range_type`, `folder_type`, `name`, `data_content`, `description`, `mkdate`, `chdate`) VALUES('012cb91a42cf85e5fafdd84e54ed2ec3', '76ed43ef286fb55cf9e41beadb484a9f', 'f7fc5ae64d2c453daa9619a820a6467e', 'a07535cf2f8a72df33c12ddfa4b53dde', 'course', 'CourseDateFolder', '15. Klausur am Do., 21.02.2019, 12:00 - 14:00', '{\"termin_id\":\"9ff59e18112a686c553412761a5df85c\",\"permission\":5}', '', 1543859055, 1543859055);
+REPLACE INTO `folders` (`id`, `user_id`, `parent_id`, `range_id`, `range_type`, `folder_type`, `name`, `data_content`, `description`, `mkdate`, `chdate`) VALUES('012cb91a42cf85e5fafdd84e54ed2ec3', '76ed43ef286fb55cf9e41beadb484a9f', 'f7fc5ae64d2c453daa9619a820a6467e', 'a07535cf2f8a72df33c12ddfa4b53dde', 'course', 'CourseDateFolder', '15. Klausur am Sa., 15.02.2025, 11:00 - 12:30', '{\"termin_id\":\"86de155d92a8f2da7ed6cd8ed9c08d71\",\"permission\":5}', '', 1543859055, 1543859055);
 REPLACE INTO `folders` (`id`, `user_id`, `parent_id`, `range_id`, `range_type`, `folder_type`, `name`, `data_content`, `description`, `mkdate`, `chdate`) VALUES('3cc9006789bceef5d3ea7bed680790b4', '76ed43ef286fb55cf9e41beadb484a9f', '', '110ce78ffefaf1e5f167cd7019b728bf', 'institute', 'RootFolder', 'externe Einrichtung B', '', '', 1510849315, 1510849315);
 REPLACE INTO `folders` (`id`, `user_id`, `parent_id`, `range_id`, `range_type`, `folder_type`, `name`, `data_content`, `description`, `mkdate`, `chdate`) VALUES('694cdcef09c2b8e70a7313b028e36fb6', '', '3cc9006789bceef5d3ea7bed680790b4', '110ce78ffefaf1e5f167cd7019b728bf', 'institute', 'StandardFolder', 'Allgemeiner Dateiordner', '', 'Ablage für allgemeine Ordner und Dokumente der Einrichtung', 1156516698, 1156516698);
 REPLACE INTO `folders` (`id`, `user_id`, `parent_id`, `range_id`, `range_type`, `folder_type`, `name`, `data_content`, `description`, `mkdate`, `chdate`) VALUES('76b822dcc7f1458ae6e144c3c0fb544e', '76ed43ef286fb55cf9e41beadb484a9f', '', 'ec2e364b28357106c0f8c282733dbe56', 'institute', 'RootFolder', 'externe Bildungseinrichtungen', '', '', 1510849315, 1510849315);
@@ -162,7 +154,7 @@ REPLACE INTO `semester_courses` (`semester_id`, `course_id`, `mkdate`, `chdate`)
 --
 
 REPLACE INTO `seminare` (`Seminar_id`, `VeranstaltungsNummer`, `Institut_id`, `Name`, `Untertitel`, `status`, `Beschreibung`, `Ort`, `Sonstiges`, `Lesezugriff`, `Schreibzugriff`, `start_time`, `duration_time`, `art`, `teilnehmer`, `vorrausetzungen`, `lernorga`, `leistungsnachweis`, `mkdate`, `chdate`, `ects`, `admission_turnout`, `admission_binding`, `admission_prelim`, `admission_prelim_txt`, `admission_disable_waitlist`, `visible`, `showscore`, `aux_lock_rule`, `aux_lock_rule_forced`, `lock_rule`, `admission_waitlist_max`, `admission_disable_waitlist_move`, `completion`, `parent_course`) VALUES('7cb72dab1bf896a0b55c6aa7a70a3a86', '', 'ec2e364b28357106c0f8c282733dbe56', 'Test Studiengruppe', '', 99, 'Studiengruppen sind eine einfache Möglichkeit, mit KommilitonInnen, KollegInnen und anderen zusammenzuarbeiten.', '', '', 1, 1, 1680300000, -1, '', '', '', '', '', 1268739824, 1607705186, '', 0, 0, 0, '', 0, 1, 0, NULL, 0, NULL, 0, 0, 0, NULL);
-REPLACE INTO `seminare` (`Seminar_id`, `VeranstaltungsNummer`, `Institut_id`, `Name`, `Untertitel`, `status`, `Beschreibung`, `Ort`, `Sonstiges`, `Lesezugriff`, `Schreibzugriff`, `start_time`, `duration_time`, `art`, `teilnehmer`, `vorrausetzungen`, `lernorga`, `leistungsnachweis`, `mkdate`, `chdate`, `ects`, `admission_turnout`, `admission_binding`, `admission_prelim`, `admission_prelim_txt`, `admission_disable_waitlist`, `visible`, `showscore`, `aux_lock_rule`, `aux_lock_rule_forced`, `lock_rule`, `admission_waitlist_max`, `admission_disable_waitlist_move`, `completion`, `parent_course`) VALUES('a07535cf2f8a72df33c12ddfa4b53dde', '12345', '2560f7c7674942a7dce8eeb238e15d93', 'Test Lehrveranstaltung', 'eine normale Lehrveranstaltung', 1, '', '', '', 1, 1, 1696111200, 0, '', 'für alle Studierenden', 'abgeschlossenes Grundstudium', 'Referate in Gruppenarbeit', 'Klausur', 1343924407, 1641229951, '4', 0, 0, 0, '', 0, 1, 0, NULL, 0, NULL, 0, 0, 0, NULL);
+REPLACE INTO `seminare` (`Seminar_id`, `VeranstaltungsNummer`, `Institut_id`, `Name`, `Untertitel`, `status`, `Beschreibung`, `Ort`, `Sonstiges`, `Lesezugriff`, `Schreibzugriff`, `start_time`, `duration_time`, `art`, `teilnehmer`, `vorrausetzungen`, `lernorga`, `leistungsnachweis`, `mkdate`, `chdate`, `ects`, `admission_turnout`, `admission_binding`, `admission_prelim`, `admission_prelim_txt`, `admission_disable_waitlist`, `visible`, `showscore`, `aux_lock_rule`, `aux_lock_rule_forced`, `lock_rule`, `admission_waitlist_max`, `admission_disable_waitlist_move`, `completion`, `parent_course`) VALUES('a07535cf2f8a72df33c12ddfa4b53dde', '12345', '2560f7c7674942a7dce8eeb238e15d93', 'Test Lehrveranstaltung', 'eine normale Lehrveranstaltung', 1, '', '', '', 1, 1, 1727733600, 0, '', 'für alle Studierenden', 'abgeschlossenes Grundstudium', 'Referate in Gruppenarbeit', 'Klausur', 1343924407, 1716388347, '4', 0, 0, 0, '', 0, 1, 0, NULL, 0, NULL, 0, 0, 0, NULL);
 
 --
 -- Dumping data for table `seminar_cycle_dates`
@@ -227,28 +219,30 @@ REPLACE INTO `statusgruppe_user` (`statusgruppe_id`, `user_id`, `position`, `vis
 
 --
 -- Dumping data for table `termine`
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('005be9fa51cae40cb7864420ef20cc21', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1700467200, 1700474400, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('04907423f4fecaf2326bde7d595e3fa6', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1706515200, 1706522400, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('0a32d2bb1d24c471fd62d2f542fee471', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1701676800, 1701684000, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('3b74ff2f7ce0964146a90b3d723ee594', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1702281600, 1702288800, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('68985894e2389e16c9922f28bc88447b', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1704700800, 1704708000, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('86de155d92a8f2da7ed6cd8ed9c08d71', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1707991200, 1707996600, 1698856983, 1698856983, 3, '', NULL);
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('8c145ae92eef055db022e79df007af19', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1705305600, 1705312800, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('953ce88c783cbc921f82e41e4af7a6af', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1702886400, 1702893600, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('ab8e1dca6db2eb7dec5a2c99af8338ec', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1699257600, 1699264800, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('afde51cfbc49f0e5fcd8be6bd32cc1d1', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1698652800, 1698660000, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('ba543c308e144270c44406288393c041', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1699862400, 1699869600, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('bb87ee9eb1711bf15d84e3814c1cd4ce', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1707120000, 1707127200, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('dfaef63fdf5d7b7349190b5ae131463e', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1701072000, 1701079200, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('f08b3ef4fe781e7e32d3153832ca5e21', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1698044400, 1698051600, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
-REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('fe11571844e66b495fc12114b48ec161', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1705910400, 1705917600, 1698856934, 1698857418, 1, '', 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('1199f2c43a6ddcd05fd61456e6ac1451', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1736755200, 1736762400, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('132eec0a28623f5afde092a6960e45f4', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1736150400, 1736157600, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('13bf7a5cd577bcba5bff88d46512baad', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1732521600, 1732528800, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('221bb1927fcd93fab3ec7dde7c6b3cce', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1734336000, 1734343200, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('4f47c3d25eca9ab8fb2a1644209074ae', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1733126400, 1733133600, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('5f87ebde55d5527ceb27ccd6dcd9f66e', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1733731200, 1733738400, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('60b4659f960ef05807cbaea6368158aa', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1730707200, 1730714400, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('749e52b43a4fe025442f355779489a9d', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1729494000, 1729501200, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('7aaa9681da31192e49eaa63a4cef3dfb', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1737360000, 1737367200, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('7ec82c654e1b41819cd476ec72e77a76', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1730102400, 1730109600, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('86de155d92a8f2da7ed6cd8ed9c08d71', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1739613600, 1739619000, 1698856983, 1716388379, 3, '', NULL);
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('a8f402ada308f68d5f24374923d25580', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1737964800, 1737972000, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('be1ad3a4bc5c933d4bfbaa2b313d3ab5', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1738569600, 1738576800, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('c729ae36a1503f471a407802e8f72cec', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1731916800, 1731924000, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+REPLACE INTO `termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`) VALUES('e8212b6e58109ae94ad2a31796c4a520', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1731312000, 1731319200, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1');
+
 
 --
 -- Daten für Tabelle `ex_termine`
 --
 
-REPLACE INTO `ex_termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`, `resource_id`) VALUES('3887db95c939fc701fddc2f906a87287', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1704096000, 1704103200, 1698856934, 1698856934, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1', '');
-REPLACE INTO `ex_termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`, `resource_id`) VALUES('d1f461421c4357b55bbfd6b16a6d1c81', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1703491200, 1703498400, 1698856934, 1698856934, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1', '');
+REPLACE INTO `ex_termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`, `resource_id`) VALUES('1bd10ae335fd2c499ad701e49a2b52cb', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1734940800, 1734948000, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1', '');
+REPLACE INTO `ex_termine` (`termin_id`, `range_id`, `autor_id`, `content`, `date`, `end_time`, `mkdate`, `chdate`, `date_typ`, `raum`, `metadate_id`, `resource_id`) VALUES('4b4657a993609ac0f7d4a0183507a5a2', 'a07535cf2f8a72df33c12ddfa4b53dde', '76ed43ef286fb55cf9e41beadb484a9f', '', 1735545600, 1735552800, 1716388347, 1716388347, 1, NULL, 'fc3c44f257e448e3cd36a88406a8a9c1', '');
+
 
 --
 -- Daten für Tabelle `user_info`
diff --git a/db/studip_resources_default_data.sql b/db/studip_resources_default_data.sql
index 5f7adc072cf..a249ac1cf1e 100644
--- a/db/studip_resources_default_data.sql
+++ b/db/studip_resources_default_data.sql
@@ -61,3 +61,4 @@ INSERT INTO `resource_property_definitions` (`property_id`, `name`, `description
 INSERT INTO `resource_property_definitions` (`property_id`, `name`, `description`, `type`, `options`, `system`, `info_label`, `display_name`, `searchable`, `range_search`, `write_permission_level`, `property_group_id`, `property_group_pos`, `mkdate`, `chdate`) VALUES('afb8675e2257c03098aa34b2893ba686', 'has_computer', '', 'bool', 'vorhanden', 1, 0, 'Dozentenrechner', 1, 0, 'admin-global', NULL, NULL, 0, 0);
 INSERT INTO `resource_property_definitions` (`property_id`, `name`, `description`, `type`, `options`, `system`, `info_label`, `display_name`, `searchable`, `range_search`, `write_permission_level`, `property_group_id`, `property_group_pos`, `mkdate`, `chdate`) VALUES('b79b77f40706ed598f5403f953c1f791', 'accessible', '', 'bool', 'vorhanden', 1, 0, 'behindertengerecht', 1, 0, 'admin-global', NULL, NULL, 0, 0);
 INSERT INTO `resource_property_definitions` (`property_id`, `name`, `description`, `type`, `options`, `system`, `info_label`, `display_name`, `searchable`, `range_search`, `write_permission_level`, `property_group_id`, `property_group_pos`, `mkdate`, `chdate`) VALUES('c4f13691419a6c12d38ad83daa926c7c', 'address', '', 'text', '', 1, 0, 'Adresse', 0, 0, 'admin-global', NULL, NULL, 0, 0);
+
diff --git a/db/studip_resources_demo_data.sql b/db/studip_resources_demo_data.sql
index e9e2ecbeda4..54ecee533f6 100644
--- a/db/studip_resources_demo_data.sql
+++ b/db/studip_resources_demo_data.sql
@@ -34,39 +34,41 @@ REPLACE INTO `resources` (`id`, `parent_id`, `category_id`, `level`, `name`, `de
 -- Dumping data for table `resource_bookings`
 --
 
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('09fe718f2b03958790c175c22b9ead30', '728f1578de643fb08b32b4b8afb2db77', 'bb87ee9eb1711bf15d84e3814c1cd4ce', '', 1707120000, 1707127200, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('308995121c82d01691e3dc9a920257d8', '728f1578de643fb08b32b4b8afb2db77', 'ba543c308e144270c44406288393c041', '', 1699862400, 1699869600, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('386690efb8f4c1d892f9c24123264229', '728f1578de643fb08b32b4b8afb2db77', 'dfaef63fdf5d7b7349190b5ae131463e', '', 1701072000, 1701079200, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('41ed2b95b0b6d86db1a48ddf8eee8f6d', '728f1578de643fb08b32b4b8afb2db77', '8c145ae92eef055db022e79df007af19', '', 1705305600, 1705312800, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('61422bd079e18a365c9b170e28289eca', '728f1578de643fb08b32b4b8afb2db77', '953ce88c783cbc921f82e41e4af7a6af', '', 1702886400, 1702893600, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('7ea453895c4dd2b0ac791ef14d91c601', '728f1578de643fb08b32b4b8afb2db77', '0a32d2bb1d24c471fd62d2f542fee471', '', 1701676800, 1701684000, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('8b0a5177c0ebdf2116d71f077a9da1dd', '728f1578de643fb08b32b4b8afb2db77', '3b74ff2f7ce0964146a90b3d723ee594', '', 1702281600, 1702288800, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('a2960560876542106dddf761add7c4ba', '728f1578de643fb08b32b4b8afb2db77', '04907423f4fecaf2326bde7d595e3fa6', '', 1706515200, 1706522400, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('aac383acadc20d7019bd12c3436540d8', '728f1578de643fb08b32b4b8afb2db77', 'fe11571844e66b495fc12114b48ec161', '', 1705910400, 1705917600, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('b9063c4e391e0ca22f9df2c26f7325bf', '728f1578de643fb08b32b4b8afb2db77', '005be9fa51cae40cb7864420ef20cc21', '', 1700467200, 1700474400, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('bc4de36334c1e3bc04d1ed438f713f7a', '728f1578de643fb08b32b4b8afb2db77', 'ab8e1dca6db2eb7dec5a2c99af8338ec', '', 1699257600, 1699264800, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('d1cf3828b5cbfb567a23ebc925818e8d', '728f1578de643fb08b32b4b8afb2db77', '68985894e2389e16c9922f28bc88447b', '', 1704700800, 1704708000, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('f03962407e755a182d79725663c065c8', '728f1578de643fb08b32b4b8afb2db77', 'afde51cfbc49f0e5fcd8be6bd32cc1d1', '', 1698652800, 1698660000, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
-REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('f9347670839cbf98d8351e55ebc80a00', '728f1578de643fb08b32b4b8afb2db77', 'f08b3ef4fe781e7e32d3153832ca5e21', '', 1698044400, 1698051600, NULL, 1698857418, 1698857418, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('06a133ec2958178551ee6b48957058b6', '728f1578de643fb08b32b4b8afb2db77', '221bb1927fcd93fab3ec7dde7c6b3cce', '', 1734336000, 1734343200, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('2a251bfb01a99e533b3bbc841fc02ca7', '728f1578de643fb08b32b4b8afb2db77', '5f87ebde55d5527ceb27ccd6dcd9f66e', '', 1733731200, 1733738400, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('413cca32dbe8c3499ae1b7dae46b6e77', '728f1578de643fb08b32b4b8afb2db77', '7ec82c654e1b41819cd476ec72e77a76', '', 1730102400, 1730109600, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('4effa9b74ecbe244bac766e6256a361c', '728f1578de643fb08b32b4b8afb2db77', '132eec0a28623f5afde092a6960e45f4', '', 1736150400, 1736157600, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('577b04b04575ce3a60328cf97ff801c8', '728f1578de643fb08b32b4b8afb2db77', '60b4659f960ef05807cbaea6368158aa', '', 1730707200, 1730714400, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('6cb4d34009cee46357a98006ef824930', '728f1578de643fb08b32b4b8afb2db77', '13bf7a5cd577bcba5bff88d46512baad', '', 1732521600, 1732528800, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('9e55f071dc674f92ef7c0032bdc623f4', '728f1578de643fb08b32b4b8afb2db77', '4f47c3d25eca9ab8fb2a1644209074ae', '', 1733126400, 1733133600, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('a01a39e448aa6dbab5dd5dffaae78926', '728f1578de643fb08b32b4b8afb2db77', 'be1ad3a4bc5c933d4bfbaa2b313d3ab5', '', 1738569600, 1738576800, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('a672b97ead875ef080706c6f6da33a44', '728f1578de643fb08b32b4b8afb2db77', 'c729ae36a1503f471a407802e8f72cec', '', 1731916800, 1731924000, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('aec837593cbd51d21d58b97e9af9ba19', '728f1578de643fb08b32b4b8afb2db77', '7aaa9681da31192e49eaa63a4cef3dfb', '', 1737360000, 1737367200, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('bd9806b968f39178225603cb6812f2b0', '728f1578de643fb08b32b4b8afb2db77', '749e52b43a4fe025442f355779489a9d', '', 1729494000, 1729501200, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('cde83098d29a75de33e76a71b8a71a21', '728f1578de643fb08b32b4b8afb2db77', '1199f2c43a6ddcd05fd61456e6ac1451', '', 1736755200, 1736762400, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('e70aaf4655d2de64852b2212b04a0e67', '728f1578de643fb08b32b4b8afb2db77', 'a8f402ada308f68d5f24374923d25580', '', 1737964800, 1737972000, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+REPLACE INTO `resource_bookings` (`id`, `resource_id`, `range_id`, `description`, `begin`, `end`, `repeat_end`, `mkdate`, `chdate`, `internal_comment`, `preparation_time`, `booking_type`, `booking_user_id`, `repetition_interval`) VALUES('ed37afe9ff2d96c489d5cf6e2b4fba80', '728f1578de643fb08b32b4b8afb2db77', 'e8212b6e58109ae94ad2a31796c4a520', '', 1731312000, 1731319200, NULL, 1716456982, 1716456982, '', 0, 0, '76ed43ef286fb55cf9e41beadb484a9f', '');
+
 
 --
 -- Dumping data for table `resource_booking_intervals`
 --
 
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('00aa3e6189e3d2a88698902eddd886e6', '728f1578de643fb08b32b4b8afb2db77', 'f03962407e755a182d79725663c065c8', 1698652800, 1698660000, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('23ceb8ae093abf4b800f6a6428fb26c7', '728f1578de643fb08b32b4b8afb2db77', '308995121c82d01691e3dc9a920257d8', 1699862400, 1699869600, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('26410654a334c4bf611ef284d319fae0', '728f1578de643fb08b32b4b8afb2db77', '41ed2b95b0b6d86db1a48ddf8eee8f6d', 1705305600, 1705312800, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('2b08833600e7f62dd64c1088e239acad', '728f1578de643fb08b32b4b8afb2db77', 'f9347670839cbf98d8351e55ebc80a00', 1698044400, 1698051600, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('4cb9c7ebd8d2b8f9dd8edf7d7efee689', '728f1578de643fb08b32b4b8afb2db77', '8b0a5177c0ebdf2116d71f077a9da1dd', 1702281600, 1702288800, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('5c4d0760b3eeb38940922b2e6e1dc501', '728f1578de643fb08b32b4b8afb2db77', '61422bd079e18a365c9b170e28289eca', 1702886400, 1702893600, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('7fa0f8495e920486ce023f1edf27d63d', '728f1578de643fb08b32b4b8afb2db77', 'b9063c4e391e0ca22f9df2c26f7325bf', 1700467200, 1700474400, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('9e046c83f532548b28dcf63c6a0972ab', '728f1578de643fb08b32b4b8afb2db77', '7ea453895c4dd2b0ac791ef14d91c601', 1701676800, 1701684000, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('a63c9ef59a074de9b6c81fcd7a302f1a', '728f1578de643fb08b32b4b8afb2db77', '09fe718f2b03958790c175c22b9ead30', 1707120000, 1707127200, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('b2fbaebbb83524970b728734c1fc06cf', '728f1578de643fb08b32b4b8afb2db77', '386690efb8f4c1d892f9c24123264229', 1701072000, 1701079200, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('b9d912ccfbd1df39e9cfeeb134062ff0', '728f1578de643fb08b32b4b8afb2db77', 'd1cf3828b5cbfb567a23ebc925818e8d', 1704700800, 1704708000, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('c59c88cf0a268bfed2c96d833401d04b', '728f1578de643fb08b32b4b8afb2db77', 'bc4de36334c1e3bc04d1ed438f713f7a', 1699257600, 1699264800, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('c9d45a65b84d4606c04ed80d0e83ead6', '728f1578de643fb08b32b4b8afb2db77', 'aac383acadc20d7019bd12c3436540d8', 1705910400, 1705917600, 1698857418, 1698857418, 1);
-REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('dffbf273272a70eed2ff3d22fa59c3ba', '728f1578de643fb08b32b4b8afb2db77', 'a2960560876542106dddf761add7c4ba', 1706515200, 1706522400, 1698857418, 1698857418, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('103172da14b07526e9c6ceb224c11c23', '728f1578de643fb08b32b4b8afb2db77', 'ed37afe9ff2d96c489d5cf6e2b4fba80', 1731312000, 1731319200, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('107c4ff6a9c207cfda35a80260a3f8c2', '728f1578de643fb08b32b4b8afb2db77', 'a672b97ead875ef080706c6f6da33a44', 1731916800, 1731924000, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('1f3b18df65f42101408da9ca0f8b06ae', '728f1578de643fb08b32b4b8afb2db77', 'aec837593cbd51d21d58b97e9af9ba19', 1737360000, 1737367200, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('22589cca9cf15513c507d6658d267492', '728f1578de643fb08b32b4b8afb2db77', '6cb4d34009cee46357a98006ef824930', 1732521600, 1732528800, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('2273be6840eb462735458020165dc663', '728f1578de643fb08b32b4b8afb2db77', '577b04b04575ce3a60328cf97ff801c8', 1730707200, 1730714400, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('298b0bc9d1be4d072c93c7cbc2647be1', '728f1578de643fb08b32b4b8afb2db77', '4effa9b74ecbe244bac766e6256a361c', 1736150400, 1736157600, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('4bf38db5dff602e6bef5a3d281783bc7', '728f1578de643fb08b32b4b8afb2db77', 'cde83098d29a75de33e76a71b8a71a21', 1736755200, 1736762400, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('5a7c2cd2975447334f0b3575513a5e6e', '728f1578de643fb08b32b4b8afb2db77', '9e55f071dc674f92ef7c0032bdc623f4', 1733126400, 1733133600, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('5bff17112dccfc248aa354748afceb46', '728f1578de643fb08b32b4b8afb2db77', 'a01a39e448aa6dbab5dd5dffaae78926', 1738569600, 1738576800, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('783aa785a85845d7eae547983afc0091', '728f1578de643fb08b32b4b8afb2db77', 'bd9806b968f39178225603cb6812f2b0', 1729494000, 1729501200, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('7f7470f79dc5ca2cc9e2e73ac50b6287', '728f1578de643fb08b32b4b8afb2db77', '413cca32dbe8c3499ae1b7dae46b6e77', 1730102400, 1730109600, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('914b8a1d43e28ed42cccd4bdc52d0b5c', '728f1578de643fb08b32b4b8afb2db77', '2a251bfb01a99e533b3bbc841fc02ca7', 1733731200, 1733738400, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('d566a5583c94cb7bbdbb67596780852c', '728f1578de643fb08b32b4b8afb2db77', 'e70aaf4655d2de64852b2212b04a0e67', 1737964800, 1737972000, 1716456982, 1716456982, 1);
+REPLACE INTO `resource_booking_intervals` (`interval_id`, `resource_id`, `booking_id`, `begin`, `end`, `mkdate`, `chdate`, `takes_place`) VALUES('deaa9da8e6003da444d2ff4756bbab9a', '728f1578de643fb08b32b4b8afb2db77', '06a133ec2958178551ee6b48957058b6', 1734336000, 1734343200, 1716456982, 1716456982, 1);
+
 
 
 
-- 
GitLab