From fed3aab59d5e43b506068e93aaf9e83507be3e0a Mon Sep 17 00:00:00 2001
From: Gerd Schachtschneider <schachi@mpi-magdeburg.mpg.de>
Date: Fri, 10 Nov 2017 12:51:37 +0100
Subject: [PATCH] add cronjob import script parameter

---
 README.md                       |   6 +-
 conf.ini                        |   2 +-
 install/LIESMICH.txt            |   3 +-
 install/mpidb_mpg_inv.sql       | 125 +++++++-------------------------
 install/updateDB_0901.sql       |  18 +++++
 tables/mpi_geraete/fields.ini   |  11 ++-
 tables/tab_parameter/fields.ini |   3 +
 7 files changed, 63 insertions(+), 105 deletions(-)

diff --git a/README.md b/README.md
index 4a26230..4aa1879 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 ## Einleitung ##
 
-Diese Inventardatenbank ist speziell fuer den IT-Bereich entwickelt worden. Es existieren hier deshalb Tabellen mit denen der eine oder andere wohl nicht anfangen kann. Beispiel waeren da Portverbindungen zwischen Switche. Mittlerweile ist sie globaler gestaltet und kann auch fuer andere Bereiche genutzt werden.<br>
+Diese Inventardatenbank ist mal speziell fuer den IT-Bereich entwickelt worden. Es existieren hier deshalb Tabellen mit denen der eine oder andere wohl nicht anfangen kann. Beispiel waeren da Portverbindungen zwischen Switche. Mittlerweile ist sie globaler gestaltet und kann auch fuer andere Bereiche genutzt werden.<br>
 <br>
 Was beinhaltet diese:
 * Geraetetabelle (PC,BS;Note,Switche etc.)
@@ -12,12 +12,14 @@ Was beinhaltet diese:
 * Dateiabage fuer alle Haupttabellen
 * Protokolle fuer sich wiederholenden Prozessen (z.B. Neubetankung von Rechnern)
 * Inventarisierung mit Import-Abgleich aus SAP(MPG-spezifisch)
+* Parametertabelle fuer alle Hauptbereiche mit Import-Moeglichkeit aus anderen DB (z.B. Empirum)
 
 ## Projekt downloaden ##
 
 **Evtl. vorh. DB und Filesystem vorher sichern**<br>
 <br>
-Entweder von common/db_export das tar-File herunterladen oder per Befehl
+Wenn noch keine andere Datenbank existiert, ist es empfehlenswert die Full-Version des tar-Files herunterzuladen. 
+Ansonsten von common/db_export das tar-File herunterladen oder per Befehl
 ~~~bash
 git clone https://gitlab.mpcdf.mpg.de/mpidb/mpg_inv.git
 ~~~
diff --git a/conf.ini b/conf.ini
index 0e2844b..7662780 100644
--- a/conf.ini
+++ b/conf.ini
@@ -37,7 +37,7 @@ driver = "mysqli"
 [_own]
 dn = "<subdomain>.mpg.de"
 notify = 30
-version = 0.9.88
+version = 1.0.00
 ssl = 0
 mailto   = "db-responsable@<domain>.mpg.de"
 mailname = "db-admin"
diff --git a/install/LIESMICH.txt b/install/LIESMICH.txt
index b67593b..d2ab1c7 100644
--- a/install/LIESMICH.txt
+++ b/install/LIESMICH.txt
@@ -16,7 +16,8 @@ Was muss ich anpassen:
     user, pass in mysql-DB anpassen
 
 4. ggf. cronjobs anlegen
-    5 6 * * * php /var/www/mpg_user/cronjobs/cronDatabase.php
+    5 5 * * * php /var/www/mpg_inv/cronjobs/getInvEmpirum.php
+    5 6 * * * php /var/www/mpg_inv/cronjobs/cronDatabase.php
 
 5. wenn es eine seperate User-Datenbank gibt, dann folgende SQL-Skripte ausfuehren
     mysql -p -u root < install/joinInv2User.sql
diff --git a/install/mpidb_mpg_inv.sql b/install/mpidb_mpg_inv.sql
index 6df192c..c896bc5 100644
--- a/install/mpidb_mpg_inv.sql
+++ b/install/mpidb_mpg_inv.sql
@@ -124,63 +124,6 @@ CREATE TABLE `dataface__mtimes` (
 
 LOCK TABLES `dataface__mtimes` WRITE;
 /*!40000 ALTER TABLE `dataface__mtimes` DISABLE KEYS */;
-INSERT INTO `dataface__mtimes` VALUES ('con_ablage',1486394880);
-INSERT INTO `dataface__mtimes` VALUES ('con_mainTab',1486475635);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__failed_logins',1485502206);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__index',1485502206);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__modules',1485502206);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__mtimes',1485502206);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__preferences',1485502206);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__record_mtimes',1485502206);
-INSERT INTO `dataface__mtimes` VALUES ('dataface__version',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('interface',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('link',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_art',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_bereich',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_conMember',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_conType',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_einheit',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_inventar',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_kategorie',1486393598);
-INSERT INTO `dataface__mtimes` VALUES ('list_katReiter',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_lagerort',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_lnkType',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_nachricht',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_os',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_parTyp',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_projekt',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_protokoll',1486453207);
-INSERT INTO `dataface__mtimes` VALUES ('list_protokoll__history',1486453207);
-INSERT INTO `dataface__mtimes` VALUES ('list_reiter',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_sequenz',1486453020);
-INSERT INTO `dataface__mtimes` VALUES ('list_sequenz__history',1486453020);
-INSERT INTO `dataface__mtimes` VALUES ('list_status',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('list_vorgang',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_ablage',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_arbeitsplatz',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_geraete',1486394592);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_geraete__history',1486393598);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_gerWartung',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_lieferant',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_material',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_material__history',1486633368);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_matMengenfluss',1485502207);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_medien',1486452343);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_medien__history',1486393598);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_notiz',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_parameter',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_users',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('mpi_verleih',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('tab_ablage',1486394880);
-INSERT INTO `dataface__mtimes` VALUES ('tab_instProt',1486453235);
-INSERT INTO `dataface__mtimes` VALUES ('tab_parameter',1486452335);
-INSERT INTO `dataface__mtimes` VALUES ('view_favorit',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('view_inventar',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('view_it_licman_instInv',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('view_licman_lizenz',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('view_mainTab',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('view_reiter',1485502208);
-INSERT INTO `dataface__mtimes` VALUES ('view_user',1485502208);
 /*!40000 ALTER TABLE `dataface__mtimes` ENABLE KEYS */;
 UNLOCK TABLES;
 DROP TABLE IF EXISTS `dataface__preferences`;
@@ -217,20 +160,6 @@ CREATE TABLE `dataface__record_mtimes` (
 
 LOCK TABLES `dataface__record_mtimes` WRITE;
 /*!40000 ALTER TABLE `dataface__record_mtimes` DISABLE KEYS */;
-INSERT INTO `dataface__record_mtimes` VALUES ('28b6d36b302deefe84b61232bf8d7b67','mpi_users?userID=2',1429705636);
-INSERT INTO `dataface__record_mtimes` VALUES ('3afd5308239bdd60ff8ddc1a07eaf01a','mpi_geraete?tabID=1',1486394592);
-INSERT INTO `dataface__record_mtimes` VALUES ('3e9dc48b790b346ff1823ee0e973b9d2','mpi_medien?medID=000001',1486452343);
-INSERT INTO `dataface__record_mtimes` VALUES ('4ecd5ea5e80e0d0828e19f2dab21d610','mpi_medien?medID=000008',1486394378);
-INSERT INTO `dataface__record_mtimes` VALUES ('7e04e212913557112c6da37756ffc03c','mpi_medien?medID=7',1486394299);
-INSERT INTO `dataface__record_mtimes` VALUES ('837811eb2d6bfacaf6aeb88ee9e3e6b1','list_reiter?tabID=253',1455455642);
-INSERT INTO `dataface__record_mtimes` VALUES ('88fa0236eb14bca620edd2188e4dd544','mpi_medien?medID=000006',1486394283);
-INSERT INTO `dataface__record_mtimes` VALUES ('a9b4aa34b8b4439fa6b5df9373052056','list_protokoll?protID=1',1486453207);
-INSERT INTO `dataface__record_mtimes` VALUES ('afe5876b42db065ca3e910413dffb518','mpi_medien?medID=8',1486394354);
-INSERT INTO `dataface__record_mtimes` VALUES ('b7de0af9b96555f410408a5913c8a4c8','list_reiter?tabID=000215',1455457361);
-INSERT INTO `dataface__record_mtimes` VALUES ('e44026192eaacf682c1982b33c739928','list_sequenz?seqID=1',1486453020);
-INSERT INTO `dataface__record_mtimes` VALUES ('e5394fbb7d33bbb760b7cfcd428bdb64','mpi_medien?medID=1',1486452289);
-INSERT INTO `dataface__record_mtimes` VALUES ('e767e5a6f31609453c1f0c799fd9a8ba','tab_ablage?ablID=1',1486394880);
-INSERT INTO `dataface__record_mtimes` VALUES ('e96d1539f71ef09b4c6168a867a78e9c','list_katReiter?autoID=11',1455457277);
 /*!40000 ALTER TABLE `dataface__record_mtimes` ENABLE KEYS */;
 UNLOCK TABLES;
 DROP TABLE IF EXISTS `dataface__version`;
@@ -243,7 +172,7 @@ CREATE TABLE `dataface__version` (
 
 LOCK TABLES `dataface__version` WRITE;
 /*!40000 ALTER TABLE `dataface__version` DISABLE KEYS */;
-INSERT INTO `dataface__version` VALUES (988);
+INSERT INTO `dataface__version` VALUES (1000);
 /*!40000 ALTER TABLE `dataface__version` ENABLE KEYS */;
 UNLOCK TABLES;
 DROP TABLE IF EXISTS `interface`;
@@ -861,17 +790,17 @@ UNLOCK TABLES;
 /*!50003 SET @saved_col_connection = @@collation_connection */ ;
 /*!50003 SET character_set_client  = utf8mb4 */ ;
 /*!50003 SET character_set_results = utf8mb4 */ ;
-/*!50003 SET collation_connection  = utf8mb4_unicode_ci */ ;
+/*!50003 SET collation_connection  = utf8mb4_general_ci */ ;
 /*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
 /*!50003 SET sql_mode              = '' */ ;
 DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `sys_after_del` AFTER DELETE ON mpi_arbeitsplatz FOR EACH ROW
-   BEGIN
-    DELETE FROM tab_parameter WHERE auswTab  = 'sysID' AND tabID  = OLD.tabID;
-    DELETE FROM con_mainTab   WHERE auswTabS = 'sysID' AND tabIDS = OLD.tabID;
-    DELETE FROM con_mainTab   WHERE auswTabD = 'sysID' AND tabIDD = OLD.tabID;
-    DELETE FROM con_ablage    WHERE auswTab  = 'sysID' AND tabID  = OLD.tabID;
-    DELETE FROM mpi_notiz     WHERE sysID IS NULL AND gerID IS NULL AND matID IS NULL;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `sys_after_del` AFTER DELETE ON mpi_arbeitsplatz FOR EACH ROW
+   BEGIN
+    DELETE FROM tab_parameter WHERE auswTab  = 'sysID' AND tabID  = OLD.tabID;
+    DELETE FROM con_mainTab   WHERE auswTabS = 'sysID' AND tabIDS = OLD.tabID;
+    DELETE FROM con_mainTab   WHERE auswTabD = 'sysID' AND tabIDD = OLD.tabID;
+    DELETE FROM con_ablage    WHERE auswTab  = 'sysID' AND tabID  = OLD.tabID;
+    DELETE FROM mpi_notiz     WHERE sysID IS NULL AND gerID IS NULL AND matID IS NULL;
    END */;;
 DELIMITER ;
 /*!50003 SET sql_mode              = @saved_sql_mode */ ;
@@ -972,17 +901,17 @@ UNLOCK TABLES;
 /*!50003 SET @saved_col_connection = @@collation_connection */ ;
 /*!50003 SET character_set_client  = utf8mb4 */ ;
 /*!50003 SET character_set_results = utf8mb4 */ ;
-/*!50003 SET collation_connection  = utf8mb4_unicode_ci */ ;
+/*!50003 SET collation_connection  = utf8mb4_general_ci */ ;
 /*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
 /*!50003 SET sql_mode              = '' */ ;
 DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `ger_after_del` AFTER DELETE ON mpi_geraete FOR EACH ROW
-   BEGIN
-    DELETE FROM tab_parameter WHERE auswTab  = 'gerID' AND tabID =  OLD.tabID;
-    DELETE FROM con_mainTab   WHERE auswTabS = 'gerID' AND tabIDS = OLD.tabID;
-    DELETE FROM con_mainTab   WHERE auswTabD = 'gerID' AND tabIDD = OLD.tabID;
-    DELETE FROM con_ablage    WHERE auswTab  = 'gerID' AND tabID =  OLD.tabID;
-    DELETE FROM mpi_notiz     WHERE sysID IS NULL AND gerID IS NULL AND matID IS NULL;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `ger_after_del` AFTER DELETE ON mpi_geraete FOR EACH ROW
+   BEGIN
+    DELETE FROM tab_parameter WHERE auswTab  = 'gerID' AND tabID =  OLD.tabID;
+    DELETE FROM con_mainTab   WHERE auswTabS = 'gerID' AND tabIDS = OLD.tabID;
+    DELETE FROM con_mainTab   WHERE auswTabD = 'gerID' AND tabIDD = OLD.tabID;
+    DELETE FROM con_ablage    WHERE auswTab  = 'gerID' AND tabID =  OLD.tabID;
+    DELETE FROM mpi_notiz     WHERE sysID IS NULL AND gerID IS NULL AND matID IS NULL;
    END */;;
 DELIMITER ;
 /*!50003 SET sql_mode              = @saved_sql_mode */ ;
@@ -1147,17 +1076,17 @@ UNLOCK TABLES;
 /*!50003 SET @saved_col_connection = @@collation_connection */ ;
 /*!50003 SET character_set_client  = utf8mb4 */ ;
 /*!50003 SET character_set_results = utf8mb4 */ ;
-/*!50003 SET collation_connection  = utf8mb4_unicode_ci */ ;
+/*!50003 SET collation_connection  = utf8mb4_general_ci */ ;
 /*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
 /*!50003 SET sql_mode              = '' */ ;
 DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `mat_after_del` AFTER DELETE ON mpi_material FOR EACH ROW
-   BEGIN
-    DELETE FROM tab_parameter WHERE auswTab  = 'matID' AND tabID =  OLD.tabID;
-    DELETE FROM con_mainTab   WHERE auswTabS = 'matID' AND tabIDS = OLD.tabID;
-    DELETE FROM con_mainTab   WHERE auswTabD = 'matID' AND tabIDD = OLD.tabID;
-    DELETE FROM con_ablage    WHERE auswTab  = 'matID' AND tabID =  OLD.tabID;
-    DELETE FROM mpi_notiz     WHERE sysID IS NULL AND gerID IS NULL AND matID IS NULL;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `mat_after_del` AFTER DELETE ON mpi_material FOR EACH ROW
+   BEGIN
+    DELETE FROM tab_parameter WHERE auswTab  = 'matID' AND tabID =  OLD.tabID;
+    DELETE FROM con_mainTab   WHERE auswTabS = 'matID' AND tabIDS = OLD.tabID;
+    DELETE FROM con_mainTab   WHERE auswTabD = 'matID' AND tabIDD = OLD.tabID;
+    DELETE FROM con_ablage    WHERE auswTab  = 'matID' AND tabID =  OLD.tabID;
+    DELETE FROM mpi_notiz     WHERE sysID IS NULL AND gerID IS NULL AND matID IS NULL;
    END */;;
 DELIMITER ;
 /*!50003 SET sql_mode              = @saved_sql_mode */ ;
@@ -1401,7 +1330,7 @@ DROP TABLE IF EXISTS `tab_parameter`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `tab_parameter` (
-  `parID` smallint(6) unsigned zerofill NOT NULL AUTO_INCREMENT,
+  `parID` mediumint(6) unsigned zerofill NOT NULL AUTO_INCREMENT,
   `auswTab` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
   `tabID` smallint(6) unsigned NOT NULL,
   `typID` smallint(6) unsigned zerofill NOT NULL,
@@ -1607,7 +1536,7 @@ USE `mpidb_mpg_inv`;
 /*!50001 SET @saved_col_connection     = @@collation_connection */;
 /*!50001 SET character_set_client      = utf8mb4 */;
 /*!50001 SET character_set_results     = utf8mb4 */;
-/*!50001 SET collation_connection      = utf8mb4_general_ci */;
+/*!50001 SET collation_connection      = utf8mb4_unicode_ci */;
 /*!50001 CREATE ALGORITHM=UNDEFINED */
 /*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
 /*!50001 VIEW `view_user` AS select `mpidb_mpg_user`.`mpi_user`.`localID` AS `localID`,`mpidb_mpg_user`.`mpi_user`.`last_name` AS `last_name`,`mpidb_mpg_user`.`mpi_user`.`first_name` AS `first_name` from `mpidb_mpg_user`.`mpi_user` where (`mpidb_mpg_user`.`mpi_user`.`active` = 1) order by `mpidb_mpg_user`.`mpi_user`.`localID` */;
diff --git a/install/updateDB_0901.sql b/install/updateDB_0901.sql
index fdb0291..a5e139a 100644
--- a/install/updateDB_0901.sql
+++ b/install/updateDB_0901.sql
@@ -551,6 +551,7 @@ IF ( SELECT MAX(version) FROM dataface__version ) < '0971' THEN
   INSERT IGNORE INTO list_reiter (reiter, kategorie, favorit, history, bedeutung) VALUES('view_licman_lizenz', 'View', 0, 0, 'Beziehung Bestellnummer zur DB Lizenzverwaltung') ;
   -- create view_licman_lizenz
   CREATE OR REPLACE VIEW view_licman_lizenz AS
+   SELECT
     '000001' AS lizenzID,
     'software : modell : anzahl' AS bezeichnung,
     '0123456789' AS bestellnummer,
@@ -1105,6 +1106,23 @@ IF ( SELECT MAX(version) FROM dataface__version ) < '0988' THEN
 END IF;
 
 
+-- CHANGES V1.0.00 - 2017-11-09
+-- ****************************
+-- UPDATE: add script import parameter computer from empirum DB
+-- UPDATE: change parID zu MEDIUMINT
+-- db|fs::tab_parameter - change parID zu MEDIUMINT UNSIGNED ZEROFILL
+-- fs::cronjobs/getInvEmpirum.php - add script import parameter computer from empirum DB
+
+IF ( SELECT MAX(version) FROM dataface__version ) < '1000' THEN
+
+ -- wegen Parameter import von Empirum parID vergroessern
+  ALTER TABLE tab_parameter CHANGE parID parID MEDIUMINT(6) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT;
+
+ TRUNCATE dataface__version ;
+ INSERT INTO dataface__version (version) VALUES ('1000') ;
+
+END IF;
+
 
 END;
 $$
diff --git a/tables/mpi_geraete/fields.ini b/tables/mpi_geraete/fields.ini
index a48571a..67ce2f6 100644
--- a/tables/mpi_geraete/fields.ini
+++ b/tables/mpi_geraete/fields.ini
@@ -19,15 +19,19 @@ order = 10
 noLinkFromListView = 0
 widget:atts:size = 75
 widget:description = "Name und Seriennummer bilden eine Einheit und dürfen nicht ein zweites Mal verwendet werden."
+validators:maxlength = 30
+validators:maxlength:message = "Name: Maximale Länge von 30 Zeichen überschritten"
 order = 20
 
 [seriennummer]
+validators:maxlength = 30
+validators:maxlength:message = "Seriennummer: Maximale Länge von 30 Zeichen überschritten"
 order = 30
 
 [alias]
 visibility:list = hidden
 group = daten
-order = 40
+order = 20
 
 [art]
 widget:type = "select"
@@ -169,7 +173,7 @@ widget:type = "select"
 vocabulary = "os"
 visibility:list = hidden
 group = daten
-order = 220
+order = 10
 
 [protID]
 visibility:list = hidden
@@ -223,6 +227,7 @@ widget:columns = "typID, parameter, einheit, notiz"
 ;widget:keycol = parID
 widget:description = "Neuer Typ oder neue Einheit ueber Reiter 'Parameter'. Das Löschen eines Eintrages löscht den Parameterdatensatz!"
 group = daten
+order = 20
 
 [ablage]
 transient = 1
@@ -266,7 +271,7 @@ order = 15
 
 [fieldgroup:daten]
 label = "Techn. Daten"
-collapsed = 1
+collapsed = 0
 order = 20
 
 [fieldgroup:ablage]
diff --git a/tables/tab_parameter/fields.ini b/tables/tab_parameter/fields.ini
index 07d8104..eea686c 100644
--- a/tables/tab_parameter/fields.ini
+++ b/tables/tab_parameter/fields.ini
@@ -45,6 +45,8 @@ widget:atts:style = "text-align: right"
 ;vocabulary = paramAuto
 widget:label = "Parameter"
 ;filter = 1
+validators:maxlength = "50"
+validators:maxlength:message = "Parameter: Maximale Länge von 50 Zeichen überschritten"
 order = 40
 
 [einheit]
@@ -60,6 +62,7 @@ order = 60
 [bearbeiter]
 widget:type = "static"
 visibility:find = "hidden"
+filter = 1
 order = 70
 
 [zeitstempel]
-- 
GitLab