]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
baculum: Group directives into sections in config directive list
authorMarcin Haba <marcin.haba@bacula.pl>
Sun, 10 Nov 2019 18:59:21 +0000 (19:59 +0100)
committerMarcin Haba <marcin.haba@bacula.pl>
Sat, 14 Dec 2019 15:02:16 +0000 (16:02 +0100)
16 files changed:
gui/baculum/protected/Web/Class/DataDescription.php
gui/baculum/protected/Web/Data/data_desc.json
gui/baculum/protected/Web/JavaScript/bacula-config.js
gui/baculum/protected/Web/Lang/en/messages.mo
gui/baculum/protected/Web/Lang/en/messages.po
gui/baculum/protected/Web/Lang/ja/messages.mo
gui/baculum/protected/Web/Lang/ja/messages.po
gui/baculum/protected/Web/Lang/pl/messages.mo
gui/baculum/protected/Web/Lang/pl/messages.po
gui/baculum/protected/Web/Lang/pt/messages.mo
gui/baculum/protected/Web/Lang/pt/messages.po
gui/baculum/protected/Web/Pages/NewJobWizard.page
gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php
gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.tpl
gui/baculum/protected/Web/Portlets/DirectiveRenderer.php
gui/baculum/protected/Web/Portlets/DirectiveSetting.tpl

index 31006a6fa5c2f176dcf85d45064d99f36b2dbd85..8ae76ba0c5bfadc3bbdcf0cd1ae5d020597a588e 100644 (file)
@@ -54,10 +54,33 @@ class DataDescription extends WebModule {
                if (!is_null($directive_name) && isset($data_desc->{$component_type}->{$resource_type}->{$directive_name})) {
                        $desc = $data_desc->{$component_type}->{$resource_type}->{$directive_name};
                } elseif (isset($data_desc->{$component_type}->{$resource_type})) {
-                       $desc = (array)$data_desc->{$component_type}->{$resource_type};
+                       $desc = $this->prepareDirectivesBySection($data_desc->{$component_type}->{$resource_type});
                }
                return $desc;
        }
 
+       public function prepareDirectivesBySection($desc) {
+               $desc_by_sect = array();
+               $desc_sects = array('General' => array());
+               foreach ($desc as $directive_name => $directive_desc) {
+                       if (property_exists($directive_desc, 'Section')) {
+                               if (!key_exists($directive_desc->Section, $desc_sects)) {
+                                       $desc_sects[$directive_desc->Section] = array();
+                               }
+                       } else {
+                               $directive_desc->Section = 'General';
+                       }
+                       $desc_sects[$directive_desc->Section][] = array(
+                               'name' => $directive_name,
+                               'desc' => $directive_desc
+                       );
+               }
+               foreach ($desc_sects as $sect => $directives) {
+                       for ($i = 0; $i < count($directives); $i++) {
+                               $desc_by_sect[$directives[$i]['name']] = $directives[$i]['desc'];
+                       }
+               }
+               return $desc_by_sect;
+       }
 }
 ?>
index 8ac5ea8c003cb01aa5d69070cbfff416e04421fc..f457cb9600b8144293bdc5800e65e851485c0fb8 100644 (file)
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "Messages": {
-                               "Required": false,
-                               "ValueType": "res",
+                       "Password": {
+                               "Required": true,
+                               "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
-                       },
-                       "DirPort": {
-                               "Required": false,
-                               "ValueType": "addresses_port",
-                               "DefaultValue": 9101,
-                               "FieldType": "TextBox"
-                       },
-                       "DirAddress": {
-                               "Required": false,
-                               "ValueType": "addresses_address",
-                               "DefaultValue": 9101,
-                               "FieldType": "TextBox"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
-                       "DirAddresses": {
-                               "Required": false,
-                               "ValueType": "addresses",
-                               "DefaultValue": 9101,
-                               "FieldType": "TextBox"
-                       },
-                       "DirSourceAddress": {
+                       "Messages": {
                                "Required": false,
-                               "ValueType": "addresses_address",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
                        "QueryFile": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "WorkingDirectory": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PluginDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "ScriptsDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PidDirectory": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "SubsysDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "MaximumConcurrentJobs": {
+                       "VerId": {
                                "Required": false,
-                               "ValueType": "pint32",
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "CommCompression": {
+                               "Required": false,
+                               "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "Integer"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "MaximumReloadRequests": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 32,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "MaximumConsoleConnections": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 20,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "Password": {
-                               "Required": true,
-                               "ValueType": "password",
+                       "DirPort": {
+                               "Required": false,
+                               "ValueType": "addresses_port",
+                               "DefaultValue": 9101,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "DirAddress": {
+                               "Required": false,
+                               "ValueType": "addresses_address",
+                               "DefaultValue": 9101,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "DirAddresses": {
+                               "Required": false,
+                               "ValueType": "addresses",
+                               "DefaultValue": 9101,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "DirSourceAddress": {
+                               "Required": false,
+                               "ValueType": "addresses_address",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "MaximumConcurrentJobs": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 1,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "FdConnectTimeout": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 180,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "SdConnectTimeout": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
-                       },
-                       "TlsAuthenticate": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsVerifyPeer": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "TlsCaCertificateFile": {
-                               "Required": false,
-                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsDhFile": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsVerifyPeer": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsAllowedCn": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "StatisticsRetention": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 160704000,
-                               "FieldType": "TimePeriod"
-                       },
-                       "VerId": {
+                       "TlsDhFile": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "CommCompression": {
+                       "StatisticsRetention": {
                                "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "ValueType": "time",
+                               "DefaultValue": 160704000,
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        }
                },
                "Client": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Address": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "FdPort": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 9102,
-                               "FieldType": "Integer"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
-                       },
-                       "FdStorageAddress": {
-                               "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "Catalog": {
                                "Required": true,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "FileRetention": {
+                       "Enabled": {
                                "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 5184000,
-                               "FieldType": "TimePeriod"
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox"
                        },
-                       "JobRetention": {
+                       "FdPort": {
                                "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 15552000,
-                               "FieldType": "TimePeriod"
+                               "ValueType": "pint32",
+                               "DefaultValue": 9102,
+                               "FieldType": "Integer",
+                               "Section": "Networking"
+                       },
+                       "FdStorageAddress": {
+                               "Required": false,
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
-                       "AutoPrune": {
+                       "SDCallsClient": {
                                "Required": false,
                                "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Networking"
+                       },
+                       "MaximumConcurrentJobs": {
+                               "Required": false,
+                               "ValueType": "pint32",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "SDCallsClient": {
+                       "MaximumBandwidthPerJob": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        },
-                       "SnapshotRetention": {
+                       "AutoPrune": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
+                       },
+                       "JobRetention": {
                                "Required": false,
                                "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "DefaultValue": 15552000,
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
-                       "MaximumConcurrentJobs": {
+                       "FileRetention": {
                                "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 1,
-                               "FieldType": "Integer"
+                               "ValueType": "time",
+                               "DefaultValue": 5184000,
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
-                       "TlsAuthenticate": {
+                       "SnapshotRetention": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "TlsCaCertificateFile": {
-                               "Required": false,
-                               "ValueType": "dir",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsAuthenticate": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsAllowedCn": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
-                               "ValueType": "alist_str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "MaximumBandwidthPerJob": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
-                               "ValueType": "speed",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "Enabled": {
+                       "TlsAllowedCn": {
                                "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "ValueType": "alist_str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        }
                },
                "Job": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Type": {
                                "Required": true,
                                "ValueType": "jobtype",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["Backup", "Restore", "Copy", "Verify", "Migrate", "Admin"]
+                               "Data": ["Backup", "Restore", "Copy", "Verify", "Migrate", "Admin"],
+                               "Section": "General"
                        },
                        "Level": {
                                "Required": false,
                                "ValueType": "level",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["Full", "Incremental", "Differential", "VirtualFull", "Base", "InitCatalog", "Catalog", "VolumeToCatalog", "DiskToCatalog", "Data"]
+                               "Data": ["Full", "Incremental", "Differential", "VirtualFull", "Base", "InitCatalog", "Catalog", "VolumeToCatalog", "DiskToCatalog", "Data"],
+                               "Section": "General"
                        },
-                       "Messages": {
+                       "Client": {
                                "Required": true,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Resource": "Client",
+                               "Section": "General"
                        },
-                       "Storage": {
+                       "Fileset": {
                                "Required": true,
-                               "ValueType": "alist_res",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Resource": "Fileset",
+                               "Section": "General"
                        },
                        "Pool": {
                                "Required": true,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "NextPool": {
-                               "Required": false,
-                               "ValueType": "res",
+                       "Storage": {
+                               "Required": true,
+                               "ValueType": "alist_res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Section": "General"
                        },
-                       "FullBackupPool": {
-                               "Required": false,
+                       "Messages": {
+                               "Required": true,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Section": "General"
                        },
-                       "IncrementalBackupPool": {
+                       "Schedule": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Resource": "Schedule",
+                               "Section": "General"
                        },
-                       "DifferentialBackupPool": {
+                       "JobDefs": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Resource": "JobDefs",
+                               "Section": "General"
                        },
-                       "VirtualFullBackupPool": {
+                       "Priority": {
                                "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "ValueType": "pint32",
+                               "DefaultValue": 10,
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
-                       "Client": {
-                               "Required": true,
-                               "ValueType": "res",
+                       "Accurate": {
+                               "Required": false,
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Client"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "Fileset": {
-                               "Required": true,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Fileset"
+                       "Enabled": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "Schedule": {
+                       "Run": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Schedule"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "VerifyJob": {
+                       "FullBackupPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Job"
+                               "Resource": "Pool",
+                               "Section": "Backup"
                        },
-                       "JobToVerify": {
+                       "IncrementalBackupPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Job"
+                               "Resource": "Pool",
+                               "Section": "Backup"
                        },
-                       "JobDefs": {
+                       "DifferentialBackupPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "JobDefs"
+                               "Resource": "Pool",
+                               "Section": "Backup"
                        },
-                       "Run": {
+                       "MaxFullInterval": {
                                "Required": false,
-                               "ValueType": "alist_str",
+                               "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Backup"
                        },
-                       "Where": {
+                       "MaxDiffInterval": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Backup"
                        },
-                       "RegexWhere": {
+                       "WriteBootstrap": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Backup"
                        },
-                       "StripPrefix": {
+                       "SpoolData": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
                        },
-                       "AddPrefix": {
+                       "SpoolAttributes": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "SpoolSize": {
+                               "Required": false,
+                               "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Size",
+                               "Section": "Backup"
                        },
-                       "AddSuffix": {
+                       "ReRunFailedLevels": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
                        },
-                       "Bootstrap": {
+                       "PreferMountedVolumes": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "RescheduleOnError": {
+                               "Required": false,
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
                        },
-                       "WriteBootstrap": {
+                       "RescheduleIncompleteJobs": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "RescheduleInterval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 1800,
+                               "FieldType": "TimePeriod",
+                               "Section": "Backup"
+                       },
+                       "RescheduleTimes": {
+                               "Required": false,
+                               "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Integer",
+                               "Section": "Backup"
                        },
-                       "WriteVerifyList": {
+                       "WritePartAfterJob": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "Base": {
+                               "Required": false,
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "ListBox",
+                               "Resource": "Job",
+                               "Section": "Backup"
                        },
-                       "Replace": {
+                       "PluginOptions": {
                                "Required": false,
-                               "ValueType": "replace",
-                               "DefaultValue": 97,
-                               "FieldType": "TextBox"
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Backup"
                        },
-                       "MaximumBandwidth": {
+                       "VirtualFullBackupPool": {
                                "Required": false,
-                               "ValueType": "speed",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "Virtual full backup"
                        },
-                       "MaxRunSchedTime": {
+                       "MaxVirtualFullInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Virtual full backup"
                        },
-                       "MaxRunTime": {
+                       "BackupsToKeep": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "Integer",
+                               "Section": "Virtual full backup"
                        },
-                       "FullMaxRunTime": {
+                       "DeleteConsolidatedJobs": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "CheckBox",
+                               "Section": "Virtual full backup"
                        },
-                       "IncrementalMaxRunTime": {
+                       "NextPool": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "Copy and migration"
                        },
-                       "DifferentialMaxRunTime": {
+                       "SelectionType": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "migtype",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "ComboBox",
+                               "Data": ["SmallestVolume", "OldestVolume", "Client", "Volume", "Job", "SqlQuery", "PoolOccupancy", "PoolTime", "PoolUncopiedJobs"],
+                               "Section": "Copy and migration"
                        },
-                       "MaxWaitTime": {
+                       "SelectionPattern": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TextBox",
+                               "Section": "Copy and migration"
                        },
-                       "MaxStartDelay": {
+                       "MaximumSpawnedJobs": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "pint32",
+                               "DefaultValue": 600,
+                               "FieldType": "Integer",
+                               "Section": "Copy and migration"
+                       },
+                       "PurgeMigrationJob": {
+                               "Required": false,
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "CheckBox",
+                               "Section": "Copy and migration"
                        },
-                       "MaxFullInterval": {
+                       "VerifyJob": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "ComboBox",
+                               "Resource": "Job",
+                               "Section": "Verify"
                        },
-                       "MaxVirtualFullInterval": {
+                       "JobToVerify": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "ComboBox",
+                               "Resource": "Job",
+                               "Section": "Verify"
                        },
-                       "MaxDiffInterval": {
+                       "WriteVerifyList": {
                                "Required": false,
-                               "ValueType": "time",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TextBox",
+                               "Section": "Verify"
+                       },
+                       "Where": {
+                               "Required": false,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
+                       },
+                       "Replace": {
+                               "Required": false,
+                               "ValueType": "replace",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Data": ["Always", "IfNewer", "IfOlder", "Never"],
+                               "Section": "Restore"
                        },
                        "PrefixLinks": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Restore"
                        },
-                       "PruneJobs": {
+                       "RegexWhere": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
-                       "PruneFiles": {
+                       "StripPrefix": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
-                       "PruneVolumes": {
+                       "AddPrefix": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
-                       "PurgeMigrationJob": {
+                       "AddSuffix": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
-                       "Enabled": {
+                       "Bootstrap": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
+                       },
+                       "MaximumConcurrentJobs": {
+                               "Required": false,
+                               "ValueType": "pint32",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "SnapshotRetention": {
+                       "MaximumBandwidth": {
+                               "Required": false,
+                               "ValueType": "speed",
+                               "DefaultValue": 0,
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
+                       },
+                       "MaxStartDelay": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
-                       "SpoolAttributes": {
+                       "MaxRunSchedTime": {
                                "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
-                       "SpoolData": {
+                       "MaxRunTime": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
-                       "SpoolSize": {
+                       "FullMaxRunTime": {
                                "Required": false,
-                               "ValueType": "size64",
+                               "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
-                       "ReRunFailedLevels": {
+                       "IncrementalMaxRunTime": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
+                       },
+                       "DifferentialMaxRunTime": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
+                       },
+                       "MaxWaitTime": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
+                       },
+                       "PruneJobs": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
                        },
-                       "PreferMountedVolumes": {
+                       "PruneFiles": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
+                       },
+                       "PruneVolumes": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
+                       },
+                       "SnapshotRetention": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
                        "Runscript": {
                                "Required": false,
                                        }
                                }
                        },
-                       "MaximumConcurrentJobs": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 1,
-                               "FieldType": "Integer"
-                       },
-                       "MaximumSpawnedJobs": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 600,
-                               "FieldType": "Integer"
-                       },
-                       "RescheduleOnError": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "RescheduleIncompleteJobs": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "RescheduleInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
-                       },
-                       "RescheduleTimes": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "Priority": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 10,
-                               "FieldType": "Integer"
-                       },
                        "AllowMixedPriority": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "BackupsToKeep": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "DeleteConsolidatedJobs": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "WritePartAfterJob": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "SelectionPattern": {
-                               "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "SelectionType": {
-                               "Required": false,
-                               "ValueType": "migtype",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Data": ["SmallestVolume", "OldestVolume", "Client", "Volume", "Job", "SqlQuery", "PoolOccupancy", "PoolTime", "PoolUncopiedJobs"]
-                       },
-                       "Accurate": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "AllowDuplicateJobs": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "CancelLowerLevelDuplicates": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "CancelQueuedDuplicates": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "CancelRunningDuplicates": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "PluginOptions": {
-                               "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "Base": {
-                               "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ListBox",
-                               "Resource": "Job"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        }
                },
                "Storage": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "SdPort": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 9103,
-                               "FieldType": "Integer"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Address": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "Password": {
+                               "Required": true,
+                               "ValueType": "password",
+                               "DefaultValue": 0,
+                               "FieldType": "Password",
+                               "Section": "General"
+                       },
+                       "Enabled": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "AllowCompression": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "SdPort": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 9103,
+                               "FieldType": "Integer",
+                               "Section": "Networking"
                        },
                        "FdStorageAddress": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
-                       "Password": {
-                               "Required": true,
-                               "ValueType": "password",
-                               "DefaultValue": 0,
-                               "FieldType": "Password"
+                       "HeartbeatInterval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 300,
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "Device": {
                                "Required": true,
                                "ValueType": "device",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Device"
                        },
                        "MediaType": {
                                "Required": true,
                                "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Device"
                        },
                        "Autochanger": {
                                "Required": false,
                                "ValueType": "ac_res",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Device"
                        },
                        "Autochanger": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "Enabled": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "AllowCompression": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "HeartbeatInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "CheckBox",
+                               "Section": "Device"
                        },
                        "MaximumConcurrentJobs": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 1,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "MaximumConcurrentReadjobs": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "TlsAuthenticate": {
+                       "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsEnable": {
+                       "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsRequire": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCertificate": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        }
                },
                "Catalog": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Address": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "DbPort": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
-                       "Password": {
-                               "Required": false,
+                       "DbName": {
+                               "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "User": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "DbName": {
-                               "Required": true,
+                       "Password": {
+                               "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "dbdriver": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "DbSocket": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "dbsslkey": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "dbsslcert": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "dbsslca": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "dbsslcapath": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "dbsslcipher": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "DisableBatchInsert": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        }
                },
                "Schedule": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Run": {
                                "Required": false,
                                "ValueType": "run",
                                "DefaultValue": 0,
-                               "FieldType": "Schedule"
+                               "FieldType": "Schedule",
+                               "Section": "General"
                        },
                        "Enabled": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        }
                },
                "Fileset": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "IgnoreFilesetChanges": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "EnableVss": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "EnableSnapshot": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "Include": {
                                "Required": false,
                                "ValueType": "inc",
                                "DefaultValue": 0,
                                "FieldType": "FileSet",
+                               "Section": "General",
                                "SubSections": {
                                        "File" : {
                                                "Required": false,
                                "Required": false,
                                "ValueType": "inc",
                                "DefaultValue": 0,
-                               "FieldType": "FileSet"
+                               "FieldType": "FileSet",
+                               "Section": "General"
                        }
                },
                "Pool": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PoolType": {
                                "Required": true,
                                "ValueType": "strname",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["Backup"]
+                               "Data": ["Backup"],
+                               "Section": "General"
                        },
                        "LabelFormat": {
                                "Required": false,
                                "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "LabelType": {
                                "Required": false,
                                "ValueType": "label",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["Bacula", "ANSI", "IBM"]
+                               "Data": ["Bacula", "ANSI", "IBM"],
+                               "Section": "General"
                        },
                        "CleaningPrefix": {
                                "Required": false,
                                "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "ScratchPool": {
+                               "Required": false,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "General"
                        },
                        "UseCatalog": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "UseVolumeOnce": {
+                       "CatalogFiles": {
                                "Required": false,
                                "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "Storage": {
+                               "Required": false,
+                               "ValueType": "alist_res",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "PurgeOldestVolume": {
+                       "Catalog": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "ActionOnPurge": {
+                       "MaximumVolumes": {
                                "Required": false,
-                               "ValueType": "actiononpurge",
+                               "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "RecycleOldestVolume": {
+                       "MaximumVolumeJobs": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 0,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
+                       },
+                       "MaximumVolumeFiles": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 0,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
+                       },
+                       "MaximumVolumeBytes": {
+                               "Required": false,
+                               "ValueType": "size64",
+                               "DefaultValue": 0,
+                               "FieldType": "Size",
+                               "Section": "Limitations"
+                       },
+                       "VolumeUseDuration": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
+                       },
+                       "UseVolumeOnce": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Limitations"
                        },
-                       "RecycleCurrentVolume": {
+                       "Recycle": {
                                "Required": false,
                                "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Volume recycling"
+                       },
+                       "RecyclePool": {
+                               "Required": false,
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "Volume recycling"
                        },
-                       "MaximumVolumes": {
+                       "PurgeOldestVolume": {
                                "Required": false,
-                               "ValueType": "pint32",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "CheckBox",
+                               "Section": "Volume recycling"
                        },
-                       "MaximumVolumeJobs": {
+                       "RecycleOldestVolume": {
                                "Required": false,
-                               "ValueType": "pint32",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "CheckBox",
+                               "Section": "Volume recycling"
                        },
-                       "MaximumVolumeFiles": {
+                       "RecycleCurrentVolume": {
                                "Required": false,
-                               "ValueType": "pint32",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "CheckBox",
+                               "Section": "Volume recycling"
                        },
-                       "MaximumVolumeBytes": {
+                       "VolumeRetention": {
                                "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "ValueType": "time",
+                               "DefaultValue": 31536000,
+                               "FieldType": "TimePeriod",
+                               "Section": "Volume recycling"
                        },
-                       "CatalogFiles": {
+                       "AutoPrune": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
                        },
-                       "VolumeRetention": {
+                       "ActionOnPurge": {
+                               "Required": false,
+                               "ValueType": "actiononpurge",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Pruning"
+                       },
+                       "JobRetention": {
                                "Required": false,
                                "ValueType": "time",
-                               "DefaultValue": 31536000,
-                               "FieldType": "TimePeriod"
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
-                       "VolumeUseDuration": {
+                       "FileRetention": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
                        "MigrationTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Copy and migration"
                        },
                        "MigrationHighBytes": {
                                "Required": false,
                                "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "FieldType": "Size",
+                               "Section": "Copy and migration"
                        },
                        "MigrationLowBytes": {
                                "Required": false,
                                "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "FieldType": "Size",
+                               "Section": "Copy and migration"
                        },
                        "NextPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
-                       },
-                       "Storage": {
-                               "Required": false,
-                               "ValueType": "alist_res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox"
-                       },
-                       "AutoPrune": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "Recycle": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "RecyclePool": {
-                               "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Pool"
-                       },
-                       "ScratchPool": {
-                               "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Resource": "Pool",
+                               "Section": "Copy and migration"
                        },
                        "CopyPool": {
                                "Required": false,
                                "ValueType": "alist_res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
-                       },
-                       "Catalog": {
-                               "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox"
-                       },
-                       "FileRetention": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "JobRetention": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "Resource": "Pool",
+                               "Section": "Copy and migration"
                        }
                },
                "Messages": {
                                "Required": false,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "MailCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "OperatorCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Destinations": {
                                "Required": false,
                                "ValueType": "destinations",
                                "DefaultValue": 0,
-                               "FieldType": "Messages"
+                               "FieldType": "Messages",
+                               "Section": "General"
                        }
                },
                "Counter": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Minimum": {
                                "Required": false,
                                "ValueType": "int32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
                        "Maximum": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 2147483647,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
                        "WrapCounter": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
                        "Catalog": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        }
                },
                "Console": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "JobAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Job"
+                               "Resource": "Job",
+                               "Section": "Access-control list"
                        },
                        "ClientAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Client"
+                               "Resource": "Client",
+                               "Section": "Access-control list"
                        },
                        "StorageAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Storage"
+                               "Resource": "Storage",
+                               "Section": "Access-control list"
                        },
                        "ScheduleAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Schedule"
+                               "Resource": "Schedule",
+                               "Section": "Access-control list"
                        },
                        "RunAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "Access-control list"
                        },
                        "PoolAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Pool"
+                               "Resource": "Pool",
+                               "Section": "Access-control list"
                        },
                        "CommandAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "Access-control list"
                        },
                        "FilesetAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Fileset"
+                               "Resource": "Fileset",
+                               "Section": "Access-control list"
                        },
                        "CatalogAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Catalog"
+                               "Resource": "Catalog",
+                               "Section": "Access-control list"
                        },
                        "WhereAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "Access-control list"
                        },
                        "PluginOptionsAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "Access-control list"
                        },
                        "BackupClientAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Client"
+                               "Resource": "Client",
+                               "Section": "Access-control list"
                        },
                        "RestoreClientAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
                                "FieldType": "MultiComboBox",
-                               "Resource": "Client"
+                               "Resource": "Client",
+                               "Section": "Access-control list"
                        },
                        "DirectoryAcl": {
                                "Required": false,
                                "ValueType": "acl",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
-                       },
-                       "TlsAuthenticate": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "Access-control list"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsVerifyPeer": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCertificate": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsDhFile": {
+                       "TlsVerifyPeer": {
                                "Required": false,
-                               "ValueType": "dir",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsAllowedCn": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsDhFile": {
+                               "Required": false,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        }
                },
                "JobDefs": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Type": {
-                               "Required": false,
+                               "Required": true,
                                "ValueType": "jobtype",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["Backup", "Restore", "Copy", "Verify", "Migrate", "Admin"]
+                               "Data": ["Backup", "Restore", "Copy", "Verify", "Migrate", "Admin"],
+                               "Section": "General"
                        },
                        "Level": {
                                "Required": false,
                                "ValueType": "level",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["Full", "Incremental", "Differential", "VirtualFull", "Base", "InitCatalog", "Catalog", "VolumeToCatalog", "DiskToCatalog", "Data"]
+                               "Data": ["Full", "Incremental", "Differential", "VirtualFull", "Base", "InitCatalog", "Catalog", "VolumeToCatalog", "DiskToCatalog", "Data"],
+                               "Section": "General"
                        },
-                       "Messages": {
-                               "Required": false,
+                       "Client": {
+                               "Required": true,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Resource": "Client",
+                               "Section": "General"
+                       },
+                       "Fileset": {
+                               "Required": true,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Resource": "Fileset",
+                               "Section": "General"
+                       },
+                       "Pool": {
+                               "Required": true,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
                        "Storage": {
-                               "Required": false,
+                               "Required": true,
                                "ValueType": "alist_res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "Pool": {
+                       "Messages": {
+                               "Required": true,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Section": "General"
+                       },
+                       "Schedule": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "ComboBox",
+                               "Resource": "Schedule",
+                               "Section": "General"
                        },
-                       "NextPool": {
+                       "JobDefs": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Resource": "JobDefs",
+                               "Section": "General"
+                       },
+                       "Priority": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 10,
+                               "FieldType": "Integer",
+                               "Section": "General"
+                       },
+                       "Accurate": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "Enabled": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "Run": {
+                               "Required": false,
+                               "ValueType": "alist_str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "FullBackupPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Resource": "Pool",
+                               "Section": "Backup"
                        },
                        "IncrementalBackupPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "Backup"
+                       },
+                       "DifferentialBackupPool": {
+                               "Required": false,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "Backup"
+                       },
+                       "MaxFullInterval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Backup"
+                       },
+                       "MaxDiffInterval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Backup"
+                       },
+                       "WriteBootstrap": {
+                               "Required": false,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Backup"
+                       },
+                       "SpoolData": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "SpoolAttributes": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "SpoolSize": {
+                               "Required": false,
+                               "ValueType": "size64",
+                               "DefaultValue": 0,
+                               "FieldType": "Size",
+                               "Section": "Backup"
+                       },
+                       "ReRunFailedLevels": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "PreferMountedVolumes": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "RescheduleOnError": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "RescheduleIncompleteJobs": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "RescheduleInterval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 1800,
+                               "FieldType": "TimePeriod",
+                               "Section": "Backup"
+                       },
+                       "RescheduleTimes": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 0,
+                               "FieldType": "Integer",
+                               "Section": "Backup"
+                       },
+                       "WritePartAfterJob": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Backup"
+                       },
+                       "Base": {
+                               "Required": false,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ListBox",
+                               "Resource": "Job",
+                               "Section": "Backup"
+                       },
+                       "PluginOptions": {
+                               "Required": false,
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Backup"
+                       },
+                       "VirtualFullBackupPool": {
+                               "Required": false,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Resource": "Pool",
+                               "Section": "Virtual full backup"
+                       },
+                       "MaxVirtualFullInterval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 0,
+                               "FieldType": "TimePeriod",
+                               "Section": "Virtual full backup"
+                       },
+                       "BackupsToKeep": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 0,
+                               "FieldType": "Integer",
+                               "Section": "Virtual full backup"
+                       },
+                       "DeleteConsolidatedJobs": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Virtual full backup"
                        },
-                       "DifferentialBackupPool": {
+                       "NextPool": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Resource": "Pool",
+                               "Section": "Copy and migration"
                        },
-                       "VirtualFullBackupPool": {
+                       "SelectionType": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "migtype",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Pool"
+                               "Data": ["SmallestVolume", "OldestVolume", "Client", "Volume", "Job", "SqlQuery", "PoolOccupancy", "PoolTime", "PoolUncopiedJobs"],
+                               "Section": "Copy and migration"
                        },
-                       "Client": {
+                       "SelectionPattern": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "TextBox",
+                               "Section": "Copy and migration"
                        },
-                       "Fileset": {
+                       "MaximumSpawnedJobs": {
                                "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "ValueType": "pint32",
+                               "DefaultValue": 600,
+                               "FieldType": "Integer",
+                               "Section": "Copy and migration"
                        },
-                       "Schedule": {
+                       "PurgeMigrationJob": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Copy and migration"
                        },
                        "VerifyJob": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Job"
+                               "Resource": "Job",
+                               "Section": "Verify"
                        },
                        "JobToVerify": {
                                "Required": false,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Resource": "Job"
+                               "Resource": "Job",
+                               "Section": "Verify"
                        },
-                       "JobDefs": {
+                       "WriteVerifyList": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "TextBox",
+                               "Section": "Verify"
                        },
-                       "Run": {
+                       "Where": {
                                "Required": false,
-                               "ValueType": "alist_str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
-                       "Where": {
+                       "Replace": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "replace",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Data": ["Always", "IfNewer", "IfOlder", "Never"],
+                               "Section": "Restore"
+                       },
+                       "PrefixLinks": {
+                               "Required": false,
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Restore"
                        },
                        "RegexWhere": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
                        "StripPrefix": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
                        "AddPrefix": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
                        "AddSuffix": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
                        "Bootstrap": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Restore"
                        },
-                       "WriteBootstrap": {
+                       "MaximumConcurrentJobs": {
                                "Required": false,
-                               "ValueType": "dir",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "pint32",
+                               "DefaultValue": 1,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "WriteVerifyList": {
+                       "MaximumBandwidth": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "Replace": {
-                               "Required": false,
-                               "ValueType": "replace",
-                               "DefaultValue": 97,
-                               "FieldType": "TextBox"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        },
-                       "MaximumBandwidth": {
+                       "MaxStartDelay": {
                                "Required": false,
-                               "ValueType": "speed",
+                               "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "MaxRunSchedTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "MaxRunTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "FullMaxRunTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "IncrementalMaxRunTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "DifferentialMaxRunTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "MaxWaitTime": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "MaxStartDelay": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "MaxFullInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "MaxVirtualFullInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "MaxDiffInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "PrefixLinks": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Limitations"
                        },
                        "PruneJobs": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
                        },
                        "PruneFiles": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
                        },
                        "PruneVolumes": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "PurgeMigrationJob": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "Enabled": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Pruning"
                        },
                        "SnapshotRetention": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 0,
-                               "FieldType": "TimePeriod"
-                       },
-                       "SpoolAttributes": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "SpoolData": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "SpoolSize": {
-                               "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 0,
-                               "FieldType": "Size"
-                       },
-                       "ReRunFailedLevels": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "PreferMountedVolumes": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Pruning"
                        },
                        "Runscript": {
                                "Required": false,
                                                "ValueType": "str",
                                                "DefaultValue": 0,
                                                "FieldType": "ComboBox",
-                                               "Data": ["Never", "Before", "After", "Always", "AfterVSS"]
+                                               "Data": ["Before", "After", "Always", "AfterVSS"]
                                        },
                                        "RunsOnSuccess": {
                                                "Required": false,
                                        }
                                }
                        },
-                       "MaximumConcurrentJobs": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 1,
-                               "FieldType": "Integer"
-                       },
-                       "MaximumSpawnedJobs": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 600,
-                               "FieldType": "Integer"
-                       },
-                       "RescheduleOnError": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "RescheduleIncompleteJobs": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "RescheduleInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
-                       },
-                       "RescheduleTimes": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "Priority": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 10,
-                               "FieldType": "Integer"
-                       },
                        "AllowMixedPriority": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "BackupsToKeep": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "DeleteConsolidatedJobs": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "WritePartAfterJob": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "SelectionPattern": {
-                               "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "SelectionType": {
-                               "Required": false,
-                               "ValueType": "migtype",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Data": ["SmallestVolume", "OldestVolume", "Client", "Volume", "Job", "SQLQuery", "PoolOccupancy", "PoolTime", "PoolUncopiedJobs"]
-                       },
-                       "Accurate": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "AllowDuplicateJobs": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "CancelLowerLevelDuplicates": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "CancelQueuedDuplicates": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        },
                        "CancelRunningDuplicates": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "PluginOptions": {
-                               "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "Base": {
-                               "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ListBox",
-                               "Resource": "Job"
+                               "FieldType": "CheckBox",
+                               "Section": "Duplicates and priorities"
                        }
                },
                "Statistics": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "Interval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Type": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["CSV", "Graphite"]
+                               "Data": ["CSV", "Graphite"],
+                               "Section": "General"
+                       },
+                       "Interval": {
+                               "Required": false,
+                               "ValueType": "time",
+                               "DefaultValue": 300,
+                               "FieldType": "TimePeriod",
+                               "Section": "General"
                        },
                        "Metrics": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "General"
                        },
                        "Prefix": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "MangleMetric": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "File": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "CSV file"
                        },
                        "Host": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Graphite"
                        },
                        "Port": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "MangleMetric": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Integer",
+                               "Section": "Graphite"
                        }
                }
        },
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "Monitor": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
-                       },
-                       "TlsAuthenticate": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsVerifyPeer": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCertificate": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsDhFile": {
+                       "TlsVerifyPeer": {
                                "Required": false,
-                               "ValueType": "dir",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsAllowedCn": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsDhFile": {
+                               "Required": false,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        }
                },
                "Storage": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "SdAddress": {
-                               "Required": false,
-                               "ValueType": "addresses_address",
-                               "DefaultValue": 9103,
-                               "FieldType": "TextBox"
-                       },
-                       "SdAddresses": {
-                               "Required": false,
-                               "ValueType": "addresses",
-                               "DefaultValue": 9103,
-                               "FieldType": "TextBox"
-                       },
-                       "Messages": {
-                               "Required": false,
-                               "ValueType": "res",
-                               "DefaultValue": 0,
-                               "FieldType": "ComboBox"
-                       },
-                       "SdPort": {
-                               "Required": false,
-                               "ValueType": "addresses_port",
-                               "DefaultValue": 9103,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "WorkingDirectory": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PidDirectory": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "SubsysDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PluginDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "ScriptsDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "MaximumConcurrentJobs": {
+                       "Messages": {
                                "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 20,
-                               "FieldType": "Integer"
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Section": "General"
+                       },
+                       "VerId": {
+                               "Required": false,
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "CommCompression": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "SdAddress": {
+                               "Required": false,
+                               "ValueType": "addresses_address",
+                               "DefaultValue": 9103,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "SdAddresses": {
+                               "Required": false,
+                               "ValueType": "addresses",
+                               "DefaultValue": 9103,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "SdPort": {
+                               "Required": false,
+                               "ValueType": "addresses_port",
+                               "DefaultValue": 9103,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
                        "ClientConnectTimeout": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
-                       "TlsAuthenticate": {
+                       "ClientConnectWait": {
                                "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "ValueType": "time",
+                               "DefaultValue": 1800,
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
+                       },
+                       "MaximumConcurrentJobs": {
+                               "Required": false,
+                               "ValueType": "pint32",
+                               "DefaultValue": 20,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsVerifyPeer": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "TlsCaCertificateFile": {
-                               "Required": false,
-                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsDhFile": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsVerifyPeer": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsAllowedCn": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "ClientConnectWait": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "VerId": {
+                       "TlsDhFile": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "CommCompression": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        }
                },
                "Device": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "MediaType": {
-                               "Required": true,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "DeviceType": {
                                "Required": false,
                                "ValueType": "devtype",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["File", "Tape", "Cloud", "Fifo"]
+                               "Data": ["File", "Tape", "Cloud", "Fifo"],
+                               "Section": "General"
                        },
                        "ArchiveDevice": {
                                "Required": true,
                                "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "HardwareEndOfFile": {
+                       "DriveIndex": {
                                "Required": false,
-                               "ValueType": "bit",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "ValueType": "pint32",
+                               "DefaultValue": 0,
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
-                       "HardwareEndOfMedium": {
-                               "Required": false,
-                               "ValueType": "bit",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                       "MediaType": {
+                               "Required": true,
+                               "ValueType": "strname",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "BackwardSpaceRecord": {
+                       "RemovableMedia": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "BackwardSpaceFile": {
+                       "RandomAccess": {
                                "Required": false,
                                "ValueType": "bit",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "BsfAtEom": {
+                       "AutomaticMount": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "TwoEof": {
+                       "LabelMedia": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "ForwardSpaceRecord": {
+                       "AlwaysOpen": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "ForwardSpaceFile": {
+                       "Autochanger": {
                                "Required": false,
                                "ValueType": "bit",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "FastForwardSpaceFile": {
+                       "Enabled": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "RemovableMedia": {
+                       "AutoSelect": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "bool",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "RandomAccess": {
+                       "MaximumVolumeSize": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Size",
+                               "Section": "General"
                        },
-                       "AutomaticMount": {
+                       "MaximumFileSize": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "size64",
+                               "DefaultValue": 1000000000,
+                               "FieldType": "Size",
+                               "Section": "General"
+                       },
+                       "VolumeCapacity": {
+                               "Required": false,
+                               "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Size",
+                               "Section": "General"
                        },
-                       "LabelMedia": {
+                       "Cloud": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "ComboBox",
+                               "Resource": "Cloud",
+                               "Section": "General"
                        },
-                       "AlwaysOpen": {
+                       "RequiresMount": {
                                "Required": false,
                                "ValueType": "bit",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Disk"
                        },
-                       "Autochanger": {
+                       "MountPoint": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Disk"
                        },
-                       "CloseOnPoll": {
+                       "MountCommand": {
                                "Required": false,
-                               "ValueType": "bit",
+                               "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "Disk"
                        },
-                       "BlockPositioning": {
+                       "UnmountCommand": {
+                               "Required": false,
+                               "ValueType": "strname",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Disk"
+                       },
+                       "WritePartCommand": {
+                               "Required": false,
+                               "ValueType": "strname",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Disk"
+                       },
+                       "FreeSpaceCommand": {
+                               "Required": false,
+                               "ValueType": "strname",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Disk"
+                       },
+                       "MaximumPartSize": {
+                               "Required": false,
+                               "ValueType": "size64",
+                               "DefaultValue": 0,
+                               "FieldType": "Size",
+                               "Section": "Disk"
+                       },
+                       "MinimumFeeSpace": {
+                               "Required": false,
+                               "ValueType": "size64",
+                               "DefaultValue": 5000000,
+                               "FieldType": "Size",
+                               "Section": "Disk"
+                       },
+                       "ReadOnly": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "Disk"
+                       },
+                       "AlertCommand": {
+                               "Required": false,
+                               "ValueType": "strname",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Tape"
+                       },
+                       "WormCommand": {
+                               "Required": false,
+                               "ValueType": "strname",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Tape"
+                       },
+                       "HardwareEndOfFile": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "UseMtiocGet": {
+                       "HardwareEndOfMedium": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "CheckLabels": {
+                       "BackwardSpaceRecord": {
                                "Required": false,
                                "ValueType": "bit",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
+                       },
+                       "BackwardSpaceFile": {
+                               "Required": false,
+                               "ValueType": "bit",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "RequiresMount": {
+                       "BsfAtEom": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "OfflineOnUnmount": {
+                       "TwoEof": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "BlockChecksum": {
+                       "ForwardSpaceRecord": {
                                "Required": false,
                                "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "Enabled": {
+                       "ForwardSpaceFile": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "AutoSelect": {
+                       "FastForwardSpaceFile": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "bit",
                                "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "ReadOnly": {
+                       "CloseOnPoll": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "ChangerDevice": {
+                       "VolumePollInterval": {
                                "Required": false,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "time",
+                               "DefaultValue": 300,
+                               "FieldType": "TimePeriod",
+                               "Section": "Tape"
                        },
-                       "ControlDevice": {
+                       "BlockPositioning": {
                                "Required": false,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "bit",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "ChangerCommand": {
+                       "BlockChecksum": {
                                "Required": false,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "bit",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "AlertCommand": {
+                       "UseMtiocGet": {
                                "Required": false,
-                               "ValueType": "strname",
+                               "ValueType": "bit",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
+                       },
+                       "CheckLabels": {
+                               "Required": false,
+                               "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
-                       "WormCommand": {
+                       "OfflineOnUnmount": {
                                "Required": false,
-                               "ValueType": "strname",
+                               "ValueType": "bit",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Tape"
                        },
                        "MaximumChangerWait": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Tape"
                        },
                        "MaximumOpenWait": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
-                       },
-                       "MaximumNetworkBufferSize": {
-                               "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "VolumePollInterval": {
-                               "Required": false,
-                               "ValueType": "time",
-                               "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Tape"
                        },
                        "MaximumRewindWait": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Tape"
                        },
                        "MinimumBlockSize": {
                                "Required": false,
                                "ValueType": "size32",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "FieldType": "Size",
+                               "Section": "Tape"
                        },
                        "MaximumBlockSize": {
                                "Required": false,
                                "ValueType": "maxblocksize",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
-                       },
-                       "PaddingSize": {
-                               "Required": false,
-                               "ValueType": "size32",
-                               "DefaultValue": 4096,
-                               "FieldType": "Size"
-                       },
-                       "FileAlignment": {
-                               "Required": false,
-                               "ValueType": "size32",
-                               "DefaultValue": 4096,
-                               "FieldType": "Size"
-                       },
-                       "MaximumVolumeSize": {
-                               "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 0,
-                               "FieldType": "Size"
-                       },
-                       "MaximumFileSize": {
-                               "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 1000000000,
-                               "FieldType": "Size"
-                       },
-                       "VolumeCapacity": {
-                               "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 0,
-                               "FieldType": "Size"
-                       },
-                       "MinimumFeeSpace": {
-                               "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 5000000,
-                               "FieldType": "Size"
+                               "FieldType": "Size",
+                               "Section": "Tape"
                        },
-                       "MaximumConcurrentJobs": {
+                       "LabelType": {
                                "Required": false,
-                               "ValueType": "pint32",
+                               "ValueType": "label",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "ComboBox",
+                               "Data": ["Bacula", "ANSI", "IBM"],
+                               "Section": "Tape"
                        },
-                       "SpoolDirectory": {
+                       "ControlDevice": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Tape"
                        },
-                       "MaximumSpoolSize": {
+                       "ChangerDevice": {
                                "Required": false,
-                               "ValueType": "size64",
+                               "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "FieldType": "TextBox",
+                               "Section": "Tape"
                        },
-                       "MaximumJobSpoolSize": {
+                       "ChangerCommand": {
                                "Required": false,
-                               "ValueType": "size64",
+                               "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "Size"
+                               "FieldType": "TextBox",
+                               "Section": "Tape"
                        },
-                       "DriveIndex": {
+                       "MaximumConcurrentJobs": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "MaximumPartSize": {
-                               "Required": false,
-                               "ValueType": "size64",
-                               "DefaultValue": 0,
-                               "FieldType": "Size"
-                       },
-                       "MountPoint": {
-                               "Required": false,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
-                       "MountCommand": {
+                       "MaximumNetworkBufferSize": {
                                "Required": false,
-                               "ValueType": "strname",
+                               "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Integer",
+                               "Section": "Networking"
                        },
-                       "UnmountCommand": {
+                       "PaddingSize": {
                                "Required": false,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "size32",
+                               "DefaultValue": 4096,
+                               "FieldType": "Size",
+                               "Section": "Deduplication optimized volumes"
                        },
-                       "WritePartCommand": {
+                       "FileAlignment": {
                                "Required": false,
-                               "ValueType": "strname",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "size32",
+                               "DefaultValue": 4096,
+                               "FieldType": "Size",
+                               "Section": "Deduplication optimized volumes"
                        },
-                       "FreeSpaceCommand": {
+                       "SpoolDirectory": {
                                "Required": false,
-                               "ValueType": "strname",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Spooling"
                        },
-                       "LabelType": {
+                       "MaximumSpoolSize": {
                                "Required": false,
-                               "ValueType": "label",
+                               "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Data": ["Bacula", "ANSI", "IBM"]
+                               "FieldType": "Size",
+                               "Section": "Spooling"
                        },
-                       "Cloud": {
+                       "MaximumJobSpoolSize": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "size64",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox",
-                               "Resource": "Cloud"
+                               "FieldType": "Size",
+                               "Section": "Spooling"
                        }
                },
                "Messages": {
                                "Required": false,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "MailCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "OperatorCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Destinations": {
                                "Required": false,
                                "ValueType": "destinations",
                                "DefaultValue": 0,
-                               "FieldType": "Messages"
+                               "FieldType": "Messages",
+                               "Section": "General"
                        }
                },
                "Autochanger": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Device": {
                                "Required": true,
                                "ValueType": "res",
                                "DefaultValue": 0,
                                "FieldType": "ListBox",
-                               "Resource": "Device"
+                               "Resource": "Device",
+                               "Section": "General"
                        },
                        "ChangerDevice": {
                                "Required": true,
                                "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "ChangerCommand": {
                                "Required": true,
                                "ValueType": "strname",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        }
                },
                "Statistics": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Interval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "General"
                        },
                        "Type": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["CSV", "Graphite"]
+                               "Data": ["CSV", "Graphite"],
+                               "Section": "General"
                        },
                        "Metrics": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "General"
                        },
                        "Prefix": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "MangleMetric": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "File": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "CSV file"
                        },
                        "Host": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Graphite"
                        },
                        "Port": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "MangleMetric": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Integer",
+                               "Section": "Graphite"
                        }
                },
                "Cloud": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Driver": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["S3", "File"]
+                               "Data": ["S3", "File"],
+                               "Section": "General"
                        },
                        "HostName": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "BucketName": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "AccessKey": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "SecretKey": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "Region": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Protocol": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": "HTTPS",
                                "FieldType": "ComboBox",
-                               "Data": ["HTTP", "HTTPS"]
+                               "Data": ["HTTP", "HTTPS"],
+                               "Section": "General"
                        },
                        "UriStyle": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": "VirtualHost",
                                "FieldType": "ComboBox",
-                               "Data": ["VirtualHost", "Path"]
+                               "Data": ["VirtualHost", "Path"],
+                               "Section": "General"
                        },
                        "TruncateCache": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": "No",
                                "FieldType": "ComboBox",
-                               "Data": ["No", "AfterUpload", "AtEndOfJob"]
+                               "Data": ["No", "AfterUpload", "AtEndOfJob"],
+                               "Section": "General"
                        },
                        "Upload": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": "No",
                                "FieldType": "ComboBox",
-                               "Data": ["No", "EachPart", "AtEndOfJob"]
+                               "Data": ["No", "EachPart", "AtEndOfJob"],
+                               "Section": "General"
                        },
                        "MaximumConcurrentUploads": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "MaximumConcurrentDownloads": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "MaximumUploadBandwidth": {
                                "Required": false,
                                "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        },
                        "MaximumDownloadBandwidth": {
                                "Required": false,
                                "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        }
                }
        },
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "Address": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Monitor": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "Remote": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "TlsAuthenticate": {
+                       "DisableCommand": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "Console": {
+                               "Required": false,
+                               "ValueType": "res",
+                               "DefaultValue": 0,
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsVerifyPeer": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "TlsCaCertificateFile": {
-                               "Required": false,
-                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsVerifyPeer": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsDhFile": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsAllowedCn": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "MaximumBandwidthPerJob": {
-                               "Required": false,
-                               "ValueType": "speed",
-                               "DefaultValue": 0,
-                               "FieldType": "Speed"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "DisableCommand": {
+                       "TlsDhFile": {
                                "Required": false,
-                               "ValueType": "alist_str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "Console": {
+                       "MaximumBandwidthPerJob": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        }
                },
                "FileDaemon": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "FdPort": {
-                               "Required": false,
-                               "ValueType": "addresses_port",
-                               "DefaultValue": 9102,
-                               "FieldType": "TextBox"
+                       "WorkingDirectory": {
+                               "Required": true,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "FdAddress": {
-                               "Required": false,
-                               "ValueType": "addresses_address",
-                               "DefaultValue": 9102,
-                               "FieldType": "TextBox"
+                       "PidDirectory": {
+                               "Required": true,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "FdAddresses": {
+                       "SubsysDirectory": {
                                "Required": false,
-                               "ValueType": "addresses",
-                               "DefaultValue": 9102,
-                               "FieldType": "TextBox"
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "FdSourceAddress": {
+                       "PluginDirectory": {
                                "Required": false,
-                               "ValueType": "addresses_address",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "WorkingDirectory": {
-                               "Required": true,
+                       "ScriptsDirectory": {
+                               "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "PidDirectory": {
-                               "Required": true,
-                               "ValueType": "dir",
+                       "SnapshotCommand": {
+                               "Required": false,
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "Messages": {
+                               "Required": false,
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "SubsysDirectory": {
+                       "VerId": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "PluginDirectory": {
+                       "DisableCommand": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "SnapshotCommand": {
+                       "CommCompression": {
                                "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
-                       "ScriptsDirectory": {
+                       "FdPort": {
                                "Required": false,
-                               "ValueType": "dir",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "addresses_port",
+                               "DefaultValue": 9102,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
-                       "MaximumConcurrentJobs": {
+                       "FdAddress": {
                                "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 20,
-                               "FieldType": "Integer"
+                               "ValueType": "addresses_address",
+                               "DefaultValue": 9102,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
-                       "Messages": {
+                       "FdAddresses": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "addresses",
+                               "DefaultValue": 9102,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "FdSourceAddress": {
+                               "Required": false,
+                               "ValueType": "addresses_address",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
                        "SdConnectTimeout": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "MaximumNetworkBufferSize": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Networking"
                        },
                        "PkiSignatures": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Data encryption"
                        },
                        "PkiEncryption": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Data encryption"
                        },
                        "PkiKeyPair": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Data encryption"
                        },
                        "PkiSigner": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Data encryption"
                        },
                        "PkiMasterKey": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Data encryption"
                        },
-                       "TlsAuthenticate": {
+                       "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsEnable": {
+                       "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsRequire": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCertificate": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "VerId": {
+                       "MaximumConcurrentJobs": {
                                "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "pint32",
+                               "DefaultValue": 20,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "MaximumBandwidthPerJob": {
                                "Required": false,
                                "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
-                       },
-                       "DisableCommand": {
-                               "Required": false,
-                               "ValueType": "alist_str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "CommCompression": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        }
                },
                "Messages": {
                                "Required": false,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "MailCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "OperatorCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Destinations": {
                                "Required": false,
                                "ValueType": "destinations",
                                "DefaultValue": 0,
-                               "FieldType": "Messages"
+                               "FieldType": "Messages",
+                               "Section": "General"
                        }
                },
                "Console": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
                        "Address": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "DirPort": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 9101,
-                               "FieldType": "Integer"
-                       },
-                       "TlsAuthenticate": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsVerifyPeer": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
-                       },
-                       "TlsCaCertificateFile": {
-                               "Required": false,
-                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsDhFile": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsVerifyPeer": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsAllowedCn": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
+                       },
+                       "TlsDhFile": {
+                               "Required": false,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        }
                },
                "Client": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
-                       },
-                       "FdPort": {
-                               "Required": false,
-                               "ValueType": "addresses_port",
-                               "DefaultValue": 9102,
-                               "FieldType": "TextBox"
-                       },
-                       "FdAddress": {
-                               "Required": false,
-                               "ValueType": "addresses_address",
-                               "DefaultValue": 9102,
-                               "FieldType": "TextBox"
-                       },
-                       "FdAddresses": {
-                               "Required": false,
-                               "ValueType": "addresses",
-                               "DefaultValue": 9102,
-                               "FieldType": "TextBox"
-                       },
-                       "FdSourceAddress": {
-                               "Required": false,
-                               "ValueType": "addresses_address",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "WorkingDirectory": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PidDirectory": {
                                "Required": true,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "SubsysDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "PluginDirectory": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "ScriptsDirectory": {
+                               "Required": false,
+                               "ValueType": "dir",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "SnapshotCommand": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "ScriptsDirectory": {
+                       "Messages": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "res",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "ComboBox",
+                               "Section": "General"
                        },
-                       "MaximumConcurrentJobs": {
+                       "VerId": {
                                "Required": false,
-                               "ValueType": "pint32",
-                               "DefaultValue": 20,
-                               "FieldType": "Integer"
+                               "ValueType": "str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
-                       "Messages": {
+                       "DisableCommand": {
                                "Required": false,
-                               "ValueType": "res",
+                               "ValueType": "alist_str",
+                               "DefaultValue": 0,
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "CommCompression": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
+                       },
+                       "FdPort": {
+                               "Required": false,
+                               "ValueType": "addresses_port",
+                               "DefaultValue": 9102,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "FdAddress": {
+                               "Required": false,
+                               "ValueType": "addresses_address",
+                               "DefaultValue": 9102,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "FdAddresses": {
+                               "Required": false,
+                               "ValueType": "addresses",
+                               "DefaultValue": 9102,
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
+                       },
+                       "FdSourceAddress": {
+                               "Required": false,
+                               "ValueType": "addresses_address",
                                "DefaultValue": 0,
-                               "FieldType": "ComboBox"
+                               "FieldType": "TextBox",
+                               "Section": "Networking"
                        },
                        "SdConnectTimeout": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 1800,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        },
                        "MaximumNetworkBufferSize": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "Networking"
                        },
                        "PkiSignatures": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Data encryption"
                        },
                        "PkiEncryption": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Data encryption"
                        },
                        "PkiKeyPair": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Data encryption"
                        },
                        "PkiSigner": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Data encryption"
                        },
                        "PkiMasterKey": {
                                "Required": false,
                                "ValueType": "alist_str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Data encryption"
                        },
-                       "TlsAuthenticate": {
+                       "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsEnable": {
+                       "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsRequire": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCertificate": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "VerId": {
+                       "MaximumConcurrentJobs": {
                                "Required": false,
-                               "ValueType": "str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "ValueType": "pint32",
+                               "DefaultValue": 20,
+                               "FieldType": "Integer",
+                               "Section": "Limitations"
                        },
                        "MaximumBandwidthPerJob": {
                                "Required": false,
                                "ValueType": "speed",
                                "DefaultValue": 0,
-                               "FieldType": "Speed"
-                       },
-                       "DisableCommand": {
-                               "Required": false,
-                               "ValueType": "alist_str",
-                               "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "Speed",
+                               "Section": "Limitations"
                        }
                },
                "Statistics": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Interval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "General"
                        },
                        "Type": {
                                "Required": true,
                                "ValueType": "str",
                                "DefaultValue": 0,
                                "FieldType": "ComboBox",
-                               "Data": ["CSV", "Graphite"]
+                               "Data": ["CSV", "Graphite"],
+                               "Section": "General"
                        },
                        "Metrics": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "MultiTextBox"
+                               "FieldType": "MultiTextBox",
+                               "Section": "General"
                        },
                        "Prefix": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "MangleMetric": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 0,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "File": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "CSV file"
                        },
                        "Host": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Graphite"
                        },
                        "Port": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 0,
-                               "FieldType": "Integer"
-                       },
-                       "MangleMetric": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "Integer",
+                               "Section": "Graphite"
                        }
                }
        },
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "RCFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "HistoryFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
-                       "TlsAuthenticate": {
+                       "Director": {
                                "Required": false,
-                               "ValueType": "bool",
+                               "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
+                       },
+                       "CommCompression": {
+                               "Required": false,
+                               "ValueType": "bool",
+                               "DefaultValue": 1,
+                               "FieldType": "CheckBox",
+                               "Section": "General"
                        },
                        "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsAuthenticate": {
                                "Required": false,
-                               "ValueType": "dir",
+                               "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "Director": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
-                               "ValueType": "str",
+                               "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
-                       },
-                       "CommCompression": {
-                               "Required": false,
-                               "ValueType": "bool",
-                               "DefaultValue": 1,
-                               "FieldType": "CheckBox"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        }
                },
                "Director": {
                                "Required": true,
                                "ValueType": "name",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Description": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "DirPort": {
                                "Required": false,
                                "ValueType": "pint32",
                                "DefaultValue": 9101,
-                               "FieldType": "Integer"
+                               "FieldType": "Integer",
+                               "Section": "General"
                        },
                        "Address": {
                                "Required": false,
                                "ValueType": "str",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "General"
                        },
                        "Password": {
                                "Required": true,
                                "ValueType": "password",
                                "DefaultValue": 0,
-                               "FieldType": "Password"
+                               "FieldType": "Password",
+                               "Section": "General"
                        },
-                       "TlsAuthenticate": {
+                       "TlsEnable": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsEnable": {
+                       "TlsRequire": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsRequire": {
+                       "TlsAuthenticate": {
                                "Required": false,
                                "ValueType": "bool",
                                "DefaultValue": 0,
-                               "FieldType": "CheckBox"
+                               "FieldType": "CheckBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateFile": {
+                       "TlsKey": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCaCertificateDir": {
+                       "TlsCertificate": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsCertificate": {
+                       "TlsCaCertificateFile": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
-                       "TlsKey": {
+                       "TlsCaCertificateDir": {
                                "Required": false,
                                "ValueType": "dir",
                                "DefaultValue": 0,
-                               "FieldType": "TextBox"
+                               "FieldType": "TextBox",
+                               "Section": "Communications encryption"
                        },
                        "HeartbeatInterval": {
                                "Required": false,
                                "ValueType": "time",
                                "DefaultValue": 300,
-                               "FieldType": "TimePeriod"
+                               "FieldType": "TimePeriod",
+                               "Section": "Networking"
                        }
                }
        }
index 2d11294bdaf273e8ef9244c4d18bcc185ac974f9..5f59a95dc8984ec31f18efe7fcd0eb9a1dfcd345 100644 (file)
@@ -26,6 +26,7 @@ var BaculaConfigClass = jQuery.klass({
                h2[0].textContent = text;
                container.find('div.config_directives').show();
                this.show_item(container, true);
+               oBaculaConfigSection.show_sections(true);
                this.scroll_to_element(container);
        },
        scroll_to_element: function(selector, additional_offset) {
@@ -121,9 +122,6 @@ var BaculaConfigOptionsClass = jQuery.klass({
                        }.bind(this));
                }
        },
-       get_options: function() {
-               ;
-       },
        do_action: function(param) {
                if (typeof(this.action_obj) === "object") {
                        this.action_obj.setCallbackParameter(param);
@@ -132,4 +130,51 @@ var BaculaConfigOptionsClass = jQuery.klass({
        }
 });
 
+var oBaculaConfigSection = {
+       sections: [],
+       css: {
+               section: 'h3.directive_section_header',
+               directive_field: 'directive_field'
+       },
+       init: function() {
+               this.sections = document.querySelectorAll(this.css.section);
+       },
+       get_section_names: function() {
+               var sects = [];
+               for (var i = 0; i < this.sections.length; i++) {
+                       sects.push(sections[i].getAttribute('data-section'));
+               }
+               return sects;
+       },
+       get_directives: function(section) {
+               var section, el;
+               var directives = [];
+               for (var i = 0; i < this.sections.length; i++) {
+                       sect = this.sections[i].getAttribute('data-section');
+                       if (sect !== section) {
+                               continue;
+                       }
+                       el = this.sections[i].nextElementSibling;
+                       while (el) {
+                               if (!el.classList.contains(this.css.directive_field)) {
+                                       break;
+                               }
+                               directives.push(el);
+                               el = el.nextElementSibling;
+                       }
+               }
+               return directives;
+       },
+       show_sections: function(show) {
+               // this method has to be static
+               $(function() {
+                       if (show) {
+                               $(oBaculaConfigSection.css.section).show();
+                       } else {
+                               $(oBaculaConfigSection.css.section).hide();
+                       }
+               });
+       }
+};
+
 var BaculaConfig = new BaculaConfigClass();
index 94bc9ae346a5687a94ef36b6202cefecfbe4f013..412675618cf26e884e4725f9e65df1fddd77fe30 100644 (file)
Binary files a/gui/baculum/protected/Web/Lang/en/messages.mo and b/gui/baculum/protected/Web/Lang/en/messages.mo differ
index bb1fa3dc0a5de4d48f7bd0af151e5aa5ac85e6b6..98beb1e5bffdee301dbfff8de42e74d50ae9ec7a 100644 (file)
@@ -2455,3 +2455,57 @@ msgstr "Please select hour and minute in Run block"
 
 msgid "Are you sure, you want to delete this job?"
 msgstr "Are you sure, you want to delete this job?"
+
+msgid "Access-control list"
+msgstr "Access-control list"
+
+msgid "Communications encryption"
+msgstr "Communications encryption"
+
+msgid "Copy and migration"
+msgstr "Copy and migration"
+
+msgid "CSV file"
+msgstr "CSV file"
+
+msgid "Data encryption"
+msgstr "Data encryption"
+
+msgid "Deduplication optimized volumes"
+msgstr "Deduplication optimized volumes"
+
+msgid "Device"
+msgstr "Device"
+
+msgid "Disk"
+msgstr "Disk"
+
+msgid "Duplicates and priorities"
+msgstr "Duplicates and priorities"
+
+msgid "Graphite"
+msgstr "Graphite"
+
+msgid "Limitations"
+msgstr "Limitations"
+
+msgid "Networking"
+msgstr "Networking"
+
+msgid "Pruning"
+msgstr "Pruning"
+
+msgid "Spooling"
+msgstr "Spooling"
+
+msgid "Tape"
+msgstr "Tape"
+
+msgid "Verify"
+msgstr "Verify"
+
+msgid "Virtual full backup"
+msgstr "Virtual full backup"
+
+msgid "Volume recycling"
+msgstr "Volume recycling"
index a54caaecba18db42038a00a4765a7fca54d9815d..bbc5f54d30893bba2b33ba18584529c132cd704b 100644 (file)
Binary files a/gui/baculum/protected/Web/Lang/ja/messages.mo and b/gui/baculum/protected/Web/Lang/ja/messages.mo differ
index 4ed7e20ad0e69ed1928885b3fe1961313e20d606..2591e4121e968671d101e551426d93919b482274 100644 (file)
@@ -2541,3 +2541,57 @@ msgstr "Please select hour and minute in Run block"
 
 msgid "Are you sure, you want to delete this job?"
 msgstr "Are you sure, you want to delete this job?"
+
+msgid "Access-control list"
+msgstr "Access-control list"
+
+msgid "Communications encryption"
+msgstr "Communications encryption"
+
+msgid "Copy and migration"
+msgstr "Copy and migration"
+
+msgid "CSV file"
+msgstr "CSV file"
+
+msgid "Data encryption"
+msgstr "Data encryption"
+
+msgid "Deduplication optimized volumes"
+msgstr "Deduplication optimized volumes"
+
+msgid "Device"
+msgstr "Device"
+
+msgid "Disk"
+msgstr "Disk"
+
+msgid "Duplicates and priorities"
+msgstr "Duplicates and priorities"
+
+msgid "Graphite"
+msgstr "Graphite"
+
+msgid "Limitations"
+msgstr "Limitations"
+
+msgid "Networking"
+msgstr "Networking"
+
+msgid "Pruning"
+msgstr "Pruning"
+
+msgid "Spooling"
+msgstr "Spooling"
+
+msgid "Tape"
+msgstr "Tape"
+
+msgid "Verify"
+msgstr "Verify"
+
+msgid "Virtual full backup"
+msgstr "Virtual full backup"
+
+msgid "Volume recycling"
+msgstr "Volume recycling"
index b28ff0dd06346808a2d87b39814800c78e35d7ce..3db092edcaf1189e5bb953b6afebecfcc9be6e52 100644 (file)
Binary files a/gui/baculum/protected/Web/Lang/pl/messages.mo and b/gui/baculum/protected/Web/Lang/pl/messages.mo differ
index 2e7df94a83ec45768f66bc42b70a53a199b4d398..f719a3c651756b8ba8eddcfe63bf47bbd6304b92 100644 (file)
@@ -2462,3 +2462,57 @@ msgstr "Proszę wybrać godzinę i minutę w bloku Uruchom"
 
 msgid "Are you sure, you want to delete this job?"
 msgstr "Czy jesteś pewien, że chcesz skasować to zadanie?"
+
+msgid "Access-control list"
+msgstr "Lista kontroli dostępu"
+
+msgid "Communications encryption"
+msgstr "Szyfrowanie komunikacji"
+
+msgid "Copy and migration"
+msgstr "Kopia i migracja"
+
+msgid "CSV file"
+msgstr "Plik CSV"
+
+msgid "Data encryption"
+msgstr "Szyfrowanie danych"
+
+msgid "Deduplication optimized volumes"
+msgstr "Wolumeny zoptymalizowane pod deduplikację"
+
+msgid "Device"
+msgstr "Urządzenie"
+
+msgid "Disk"
+msgstr "Dysk"
+
+msgid "Duplicates and priorities"
+msgstr "Duplikaty i priorytety"
+
+msgid "Graphite"
+msgstr "Graphite"
+
+msgid "Limitations"
+msgstr "Limitacje"
+
+msgid "Networking"
+msgstr "Łączność sieciowa"
+
+msgid "Pruning"
+msgstr "Pruning"
+
+msgid "Spooling"
+msgstr "Spooling"
+
+msgid "Tape"
+msgstr "Taśma"
+
+msgid "Verify"
+msgstr "Weryfikacja"
+
+msgid "Virtual full backup"
+msgstr "Backup konsolidacyjny (Virtual Full)"
+
+msgid "Volume recycling"
+msgstr "Recykling wolumenów"
index 1f886fa7367148c42025ba925b2b0bcb0d1a6e47..d91d7bd6b8d010e14e92dff30adca9c4942ffd29 100644 (file)
Binary files a/gui/baculum/protected/Web/Lang/pt/messages.mo and b/gui/baculum/protected/Web/Lang/pt/messages.mo differ
index 7bf7cf3f9cca8dccad46ecc3fe1992a85fbcbc65..08a206e1c262e507adad1cd1b8dfb37f0d142c37 100644 (file)
@@ -2470,3 +2470,57 @@ msgstr "Please select hour and minute in Run block"
 
 msgid "Are you sure, you want to delete this job?"
 msgstr "Are you sure, you want to delete this job?"
+
+msgid "Access-control list"
+msgstr "Access-control list"
+
+msgid "Communications encryption"
+msgstr "Communications encryption"
+
+msgid "Copy and migration"
+msgstr "Copy and migration"
+
+msgid "CSV file"
+msgstr "CSV file"
+
+msgid "Data encryption"
+msgstr "Data encryption"
+
+msgid "Deduplication optimized volumes"
+msgstr "Deduplication optimized volumes"
+
+msgid "Device"
+msgstr "Device"
+
+msgid "Disk"
+msgstr "Disk"
+
+msgid "Duplicates and priorities"
+msgstr "Duplicates and priorities"
+
+msgid "Graphite"
+msgstr "Graphite"
+
+msgid "Limitations"
+msgstr "Limitations"
+
+msgid "Networking"
+msgstr "Networking"
+
+msgid "Pruning"
+msgstr "Pruning"
+
+msgid "Spooling"
+msgstr "Spooling"
+
+msgid "Tape"
+msgstr "Tape"
+
+msgid "Verify"
+msgstr "Verify"
+
+msgid "Virtual full backup"
+msgstr "Virtual full backup"
+
+msgid "Volume recycling"
+msgstr "Volume recycling"
index e627dde59e6dfc7a7f688270ab82df007f41b29b..74279d6b21d97737c44a1da7a4be4816426ab5db 100644 (file)
                                        ValidationGroup="NewJobDirective"
                                        Required="true"
                                        />
-                               <span><a href="javascript:void(0)" onclick="$('#job_wizard_new_fileset').slideToggle();" class="w3-button w3-green" ><i class="fa fa-plus"></i> &nbsp;<%[ Add new FileSet ]%></a></span>
+                               <span><a href="javascript:void(0)" onclick="$('#job_wizard_new_fileset').slideToggle(); oBaculaConfigSection.show_sections(true);" class="w3-button w3-green" ><i class="fa fa-plus"></i> &nbsp;<%[ Add new FileSet ]%></a></span>
                        </div>
                        <div id="fileset_save_ok" class="w3-panel w3-green w3-display-container" style="display: none">
                                <span onclick="this.parentElement.style.display='none'" class="w3-button w3-green w3-large w3-display-topright">x</span>
                                        ValidationGroup="NewJobDirective"
                                        Required="true"
                                         />
-                               <span><a href="javascript:void(0)" onclick="$('#job_wizard_pool_directives').hide(); $('#job_wizard_new_pool').slideToggle();" class="w3-button w3-green"><i class="fa fa-plus"></i> &nbsp;<%[ Add new Pool ]%></a></span>
+                               <span><a href="javascript:void(0)" onclick="$('#job_wizard_pool_directives').hide(); $('#job_wizard_new_pool').slideToggle(); oBaculaConfigSection.show_sections(true);" class="w3-button w3-green"><i class="fa fa-plus"></i> &nbsp;<%[ Add new Pool ]%></a></span>
                                <span><a href="javascript:void(0)" onclick="$('#job_wizard_new_pool').hide(); $('#job_wizard_pool_directives').slideToggle();" class="w3-button w3-green"><i class="fa fa-angle-down"></i> &nbsp;<%[ Show Pool directives for Job ]%></a></span>
                        </div>
                        <div id="pool_save_ok" class="w3-panel w3-green w3-display-container" style="display: none">
                                        Label="Schedule"
                                        Show="true"
                                        />
-                               <span><a href="javascript:void(0)" onclick="$('#job_wizard_schedule_directives').hide(); $('#job_wizard_new_schedule').slideToggle();" class="w3-button w3-green"><i class="fa fa-plus"></i> &nbsp;<%[ Add new Schedule ]%></a></span>
+                               <span><a href="javascript:void(0)" onclick="$('#job_wizard_schedule_directives').hide(); $('#job_wizard_new_schedule').slideToggle(); oBaculaConfigSection.show_sections(true);" class="w3-button w3-green"><i class="fa fa-plus"></i> &nbsp;<%[ Add new Schedule ]%></a></span>
                                <span><a href="javascript:void(0)" onclick="$('#job_wizard_new_schedule').hide(); $('#job_wizard_reschedule_directives').slideToggle();" class="w3-button w3-green"><i class="fa fa-angle-down"></i> &nbsp;<%[ Show Reschedule directives ]%></a></span>
                        </div>
                        <div id="schedule_save_ok" class="w3-panel w3-green w3-display-container" style="display: none">
index 1b173e8a260659a9d34c8edace9666c1cf30fb81..4ed97d07a6a9eadfe880ed9379ff0d74f883a2df 100644 (file)
@@ -218,6 +218,7 @@ class BaculaConfigDirectives extends DirectiveListTemplate {
                                        'in_config' => $in_config,
                                        'parent_name' => null,
                                        'group_name' => null,
+                                       'section' => $directive_desc->Section,
                                        'show' => (($in_config || !$load_values) || $this->getShowAllDirectives())
                                );
                                array_push($directives, $directive);
@@ -242,6 +243,10 @@ class BaculaConfigDirectives extends DirectiveListTemplate {
                $show_all_directives = !$this->getShowAllDirectives();
                $this->setShowAllDirectives($show_all_directives);
                $this->loadConfig();
+               $this->getPage()->getCallbackClient()->callClientFunction(
+                       'oBaculaConfigSection.show_sections',
+                       array($show_all_directives)
+               );
        }
 
        public function unloadDirectives() {
index 7429c98a1031c4f9e46690d7822a0509748f3481..adaf72d513063f7536410e158b9101af5a945879 100644 (file)
@@ -31,7 +31,7 @@
                </div>
        </div>
 </div>
-<com:TActivePanel ID="ConfigDirectives">
+<com:TActivePanel ID="ConfigDirectives" Style="margin-bottom: 48px">
        <com:TActiveRepeater
                ID="RepeaterDirectives"
                ItemRenderer="Application.Web.Portlets.DirectiveRenderer"
index 52f7d76a09253e0a97c1df74eb1032a0de422777..e981a84c541f52a340ad513e371e22f2e89a49e1 100644 (file)
@@ -25,6 +25,8 @@ Prado::using('System.Web.UI.ActiveControls.TActiveLinkButton');
 Prado::using('System.Web.UI.ActiveControls.TActivePanel');
 Prado::using('System.Web.UI.ActiveControls.TActiveRepeater');
 Prado::using('System.Web.UI.WebControls.TItemDataRenderer');
+Prado::using('System.Web.UI.WebControls.THeader3');
+Prado::using('System.Web.UI.WebControls.TLiteral');
 Prado::using('Application.Web.Portlets.DirectiveListTemplate');
 Prado::using('Application.Web.Portlets.DirectiveCheckBox');
 Prado::using('Application.Web.Portlets.DirectiveComboBox');
@@ -65,6 +67,8 @@ class DirectiveRenderer extends TItemDataRenderer {
                'DirectiveMultiTextBox'
        );
 
+       private static $current_section = '';
+
        public function loadState() {
                parent::loadState();
                $this->createItemInternal();
@@ -72,6 +76,11 @@ class DirectiveRenderer extends TItemDataRenderer {
 
        public function createItemInternal() {
                $data = $this->getData();
+
+               if (key_exists('section', $data)) {
+                       $this->addSection($data['section']);
+               }
+
                $item = $this->createItem($data);
                $this->addParsedObject($item);
        }
@@ -117,6 +126,21 @@ class DirectiveRenderer extends TItemDataRenderer {
                return $control;
        }
 
+       public function addSection($section) {
+               if ($section !== self::$current_section) {
+                       self::$current_section = $section;
+                       $h3 = new THeader3();
+                       $h3->setCssClass('directive_section_header w3-border-bottom');
+                       $h3->setStyle('display: none');
+                       $h3->setAttribute('data-section', $section);
+                       $text = new TLiteral();
+                       $text->setText(Prado::localize($section));
+                       $h3->addParsedObject($text);
+                       $this->addParsedObject($h3);
+               }
+
+       }
+
        public function getData() {
                return $this->getViewState(self::DATA);
        }
index 9a5281f16f12e55a1858697a17b4b63c673c66b7..dbc05d38446a7c5efe5e0e7fc1f8651f12cf40d3 100644 (file)
@@ -1,11 +1,16 @@
 <com:TLabel ID="DirectiveOptions" CssClass="directive_setting">
-       <button type="button" class="w3-button w3-green" rel="show_all_directives"><i class="fa fa-expand-arrows-alt"></i> &nbsp;<%[ Show/hide all directives ]%></button>
+       <button type="button" class="w3-button w3-green" rel="show_all_directives">
+               <i class="fa fa-expand-arrows-alt"></i> &nbsp;<%[ Show/hide all directives ]%>
+       </button>
        <!--li rel="show_raw_config"><%[ Show the resource raw config ]%></li>
        <li rel="save_multiple_hosts"><%[ Save the resource on multiple hosts ]%></li>
        <li rel="save_addition_path"><%[ Save the resource to additional path ]%></li>
        <li rel="download_resource_config"><%[ Download the resource config ]%></li-->
 </com:TLabel>
-<com:TCallback ID="DirectiveOptionCall" OnCallback="setOption" />
+<com:TCallback
+       ID="DirectiveOptionCall"
+       OnCallback="setOption"
+/>
 <script type="text/javascript">
        var BaculaConfigOptions = new BaculaConfigOptionsClass({
                options_id: '<%=$this->DirectiveOptions->ClientID%>',