Versionsinformationen
Neuheiten
-
Erweiterte JOIN-Anweisungen für Ausgaben
Ergänzend zu den in Version 4.0 eingeführten JOIN-Anweisungen kommt hinzu:
union_join_ref(s.a. Beispiel) -
Eventlog-Ausgabe bzw. Suche über
evlog.record.listDie Eventlog-Daten wurden bereits mit Inbetriebnahme der Version 4.0 neu strukturiert. Dadurch können die Daten ab Logdatum 1.10.2023 auch nach dem Vorkommen eines Parameternamens, -status oder -wertes durchsucht werden. Daten, die vor diesem Logdatum geschrieben wurden, können nur mittels RegExp durchsucht werden. Durch den neuen Parameter
log_params_dictkann gezielt nach Parametertupeln (Name, Status, Wert bzw. RegExp eines Records) gesucht werden. Unabhängig davon kann mit den neuen Parameternlog_param_fq_name,log_param_state,log_param_value,log_param_value_regexprecord-übergreifend gesucht werden. Weitere Details zur Verwendung des Parameterslog_params_dictsind in dessen Parameterbeschreibung hinterlegt. -
Steuerung der Constraint-Validierung
Deferrable Constraints können vor jedem Statement auf
deferredund nach jedem Statement aufimmediategesetzt werden. -
Abfrage veralteter Objektattribute/Parameter über
wapi.function.listmitparameter_is_deprecated=truemöglich.
Änderungen
-
Ausgabe von Objekten relational verbundener Objekttypen mit JOIN-Anweisungen:
-
Der Lesezugriff des Nachfolger-Statements wird nicht mehr automatisch in beide Richtungen übertragen, sondern es wird nach der JOIN-Richtung unterschieden:
- Parent joins Child
- Child joins Parent
-
aktuell ist diese Unterscheidung nur in den Constraints
api_fkey_nd_l2p_port_lundapi_fkey_nd_l2p_port_paktiviert: Die Leserichtungen vonnd.l2p_portnachnd.l_portundnd.p_portnachnd.l2p_portsind nicht freigegeben.
-
-
Zugangskonzept: strikte Trennung in administrative Rechte und operative Rechte (OE-Betreuer)
- die bisherige implizite Rechteausübung als OE-Betreuer (operative Rechte entsprachen automatisch den administrativen Rechten) wird aufgehoben.
- Um operative Rechte ausüben zu können, müssen auch OE-Betreuer in den entsprechenden Gruppen eingetragen sein. Dh. OE-Betreuer zu sein, reicht alleine nicht aus.
- Diese Änderung gilt für alle WebAPI-Versionen.
-
Ausgabe der Rollen/Permissions (Hierarchieabfragen):
-
die Attribute
cntl.role.contained_permissionscntl.role.contained_roles
entfallen, da die Permission-Beschreibung als direktes Attribut auch nicht mehr verfügbar ist (und als Sprachattribut separat abgefragt werden muss).
-
das Attribut
cntl.role.hierarchy_gfk_listist stattdessen neu, wie auch die dazugehörigen Funktionsconstraintsapi_func_cntl_role_hierarchy_gfk_list_is_intersectionapi_func_cntl_role_hierarchy_gfk_list_is_subsetapi_func_cntl_role_hierarchy_gfk_list_is_superset
um enthaltene/enthaltende Rollen abzufragen. Die Modellierung ist analog anderer hierarchisch modellierter Objekttypen wie z.B.
org.unit,nd.module.
-
-
Der folgende Constraint wurde umbenannt und gilt NICHT mehr in älteren WebAPI-Versionen (dh. nur ab 4.1):
- Objekttyp
nd.p_port:api_func_nd_p_port_is_intersect_of_conn_node_set->api_func_nd_p_port_is_contained_by_conn_id_gfk_list
- Objekttyp
-
Die folgenden Constraints haben ein geändertes Objettyp-Attribut, das erst seit 4.1 definiert ist (
rr_chain_target_subnet_list->rr_chain_target_subnet_gfk_list) und gelten deshalb gilt NICHT mehr in älteren WebAPI-Versionen (dh. nur ab 4.1):- Objekttyp
dns.fqdn:api_func_dns_fqdn_rr_chain_target_contains_subnet - Objekttyp
dns.record:api_func_dns_record_rr_chain_target_contains_subnet
- Objekttyp
-
Die folgenden Constraints wurden umbenannt und gelten in allen WebAPI-Versionen (dh. müssen ggf. auch dort angepasst werden, da Constraints nicht versionsbezogen sind):
-
Objekttyp
dns.fqdn:api_func_dns_fqdn_is_intersect_of_root_node_set->api_func_dns_fqdn_hierarchy_gfk_list_is_intersectionapi_func_dns_fqdn_is_subset_of_root_node_set->api_func_dns_fqdn_hierarchy_gfk_list_is_subsetapi_func_dns_fqdn_is_superset_of_root_node_set->api_func_dns_fqdn_hierarchy_gfk_list_is_superset
-
Objekttyp
nd.module:api_func_nd_module_is_intersect_of_root_node_set->api_func_nd_module_hierarchy_gfk_list_is_intersectionapi_func_nd_module_is_subset_of_root_node_set->api_func_nd_module_hierarchy_gfk_list_is_subsetapi_func_nd_module_is_superset_of_root_node_set->api_func_nd_module_hierarchy_gfk_list_is_superset
-
Objekttyp
ndcfg.slot2module_type_tree:api_func_ndcfg_st2mt_tree_is_intersect_of_root_node_set->api_func_ndcfg_st2mt_tree_hierarchy_gfk_list_is_intersectionapi_func_ndcfg_st2mt_tree_is_subset_of_root_node_set->api_func_ndcfg_st2mt_tree_hierarchy_gfk_list_is_subsetapi_func_ndcfg_st2mt_tree_is_superset_of_root_node_set->api_func_ndcfg_st2mt_tree_hierarchy_gfk_list_is_superset
-
Objekttyp
org.unit:api_func_org_unit_is_intersect_of_root_node_set->api_func_org_unit_hierarchy_gfk_list_is_intersectionapi_func_org_unit_is_subset_of_root_node_set->api_func_org_unit_hierarchy_gfk_list_is_subsetapi_func_org_unit_is_superset_of_root_node_set->api_func_org_unit_hierarchy_gfk_list_is_superset
-
Parameterumstellung (Skalarkontext -> Arraykontext)
-
Die folgenden Objekttypattribute sind für die Funktion
listnur noch in der aktuellen Version 4.1 verwendbar (deprecated) und muessen ab Version 4.2 auf die Array-Kontext-Variante umgestellt werden (Parametername wird durch das Suffix_listergänzt, Parameterwert muss als Array übergeben werden):cntl.column.table_namecntl.column_kvtab.column_namecntl.column_kvtab.keycntl.column_kvtab.table_namecntl.constraint.namecntl.constraint.table_namecntl.data_type.namecntl.data_type_operator.namecntl.error.codecntl.error.typecntl.group.namecntl.language.tagcntl.mgr.login_namecntl.ot_attr_def.key_wordcntl.ot_attr_def.object_type_fq_namecntl.ot_attr_key.object_type_fq_namecntl.ot_attr_key.ot_attr_def_key_wordcntl.ot_attr_key.ref_object_gfkcntl.ot_lang_attr_def.key_wordcntl.ot_lang_attr_def.object_type_fq_namecntl.replication.namecntl.replication_pub2sub.publisher_fqdncntl.replication_pub2sub.replication_namecntl.role2role.contained_role_fq_namecntl.role2role.role_fq_namecntl.system.namecntl.table.namedhcpcfg.dt2operator2dt.left_data_typedhcpcfg.dt2operator2dt.operatordhcpcfg.dt2operator2dt.right_data_typedhcpcfg.operator.namedhcpv4.global_option.codedhcpv4.og.ip_subnet_cidrdhcpv4.subnet_option.ip_subnet_cidrdns.fqdn.valuedns.fqdn2group.fqdn_valuedns.fqdn2group.group_namedns.fqdn2ou.fqdn_valuedns.fqdn2ou.ou_short_namedns.record.datadns.record.typedns.zone.fqdndnscfg.ns_set.namednscfg.ns_set_host.host_fqdndnscfg.ns_set_host.ns_set_namednscfg.ns_set_member.ns_fqdndnscfg.ns_set_member.ns_set_namednscfg.record_type.namemacauth.client.mac_addrnd.bcd.namend.bcd2ou.bcd_namend.bcd2ou.ou_short_namend.bldg.numbernd.device.fqdnnd.diq_ta_entry.dev_fqdnnd.diq_ta_entry.diq_ta_gfknd.floor.namend.ip_intf.dev_fqdnnd.ip_intf.ip_addrnd.ip_intf.l_portnd.ip_subnet.cidrnd.l_port.dev_fqdnnd.l_port.namend.module.bldgnd.module.fq_namend.module.roomnd.module2ap.mdl_fq_namend.module2device.dev_fqdnnd.module2device.mdl_fq_namend.p_port.namend.room.bldgnd.room.numbernd.site.fq_namend.slot.fq_namend.vlan.idnd.vlan.net_instncnd.vxlan.vnindcfg.bcd_categ.namendcfg.bcd_seclvl.valuendcfg.device_type.namendcfg.module2slot_type.module_typendcfg.module2slot_type.slot_typendcfg.module_type.namendcfg.module_type_class.namendcfg.net_cmpnd.namendcfg.net_cmpnd2instnc.net_cmpndndcfg.net_cmpnd2instnc.net_instncndcfg.net_instnc.namendcfg.parser.namendcfg.parser2sysdescr.sysdescrndcfg.p_port2module_type.module_typendcfg.p_port_type.namendcfg.p_port_type_group.namendcfg.site_type.short_namendcfg.site_type2type.child_short_namendcfg.site_type2type.parent_short_namendcfg.slot2module_type.module_typendcfg.slot2module_type.slot_typendcfg.slot2module_type_tree.module_typendcfg.slot2module_type_tree.slot_typendcfg.slot_type_class.namenm.access_group.nameorg.unit.short_name