<?xml version="1.0" encoding="utf-8"?>
<otrs_config version="1.0" init="Application">
    <ConfigItem Name="Frontend::Module###AdminProcessManagement" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Admin::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Group>admin</Group>
                <Description>Admin</Description>
                <Title Translatable="1">Process Management</Title>
                <NavBarName>Admin</NavBarName>
                <Loader>
                    <CSS>Core.Agent.Admin.ProcessManagement.css</CSS>
                    <CSS>Core.AllocationList.css</CSS>
                    <JavaScript>thirdparty/jsplumb-1.6.4/jsplumb.js</JavaScript>
                    <JavaScript>thirdparty/farahey-0.5/farahey.js</JavaScript>
                    <JavaScript>thirdparty/jsplumb-labelspacer/label-spacer.js</JavaScript>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.js</JavaScript>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.Canvas.js</JavaScript>
                    <JavaScript>Core.UI.AllocationList.js</JavaScript>
                </Loader>
                <NavBarModule>
                    <Module>Kernel::Output::HTML::NavBarModuleAdmin</Module>
                    <Name Translatable="1">Process Management</Name>
                    <Description Translatable="1">Configure Processes.</Description>
                    <Block>System</Block>
                    <Prio>750</Prio>
                </NavBarModule>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AdminProcessManagementActivity" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Admin::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Group>admin</Group>
                <Description>Admin</Description>
                <Title Translatable="1">Process Management Activity GUI</Title>
                <Loader>
                    <CSS>Core.Agent.Admin.ProcessManagement.css</CSS>
                    <CSS>Core.AllocationList.css</CSS>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.js</JavaScript>
                    <JavaScript>Core.UI.AllocationList.js</JavaScript>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AdminProcessManagementActivityDialog" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Admin::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Group>admin</Group>
                <Description>Admin</Description>
                <Title Translatable="1">Process Management Activity Dialog GUI</Title>
                <Loader>
                    <CSS>Core.Agent.Admin.ProcessManagement.css</CSS>
                    <CSS>Core.AllocationList.css</CSS>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.js</JavaScript>
                    <JavaScript>Core.UI.AllocationList.js</JavaScript>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AdminProcessManagementTransition" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Admin::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Group>admin</Group>
                <Description>Admin</Description>
                <Title Translatable="1">Process Management Transition GUI</Title>
                <Loader>
                    <CSS>Core.Agent.Admin.ProcessManagement.css</CSS>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.js</JavaScript>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AdminProcessManagementTransitionAction" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Admin::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Group>admin</Group>
                <Description>Admin</Description>
                <Title Translatable="1">Process Management Transition Action GUI</Title>
                <Loader>
                    <CSS>Core.Agent.Admin.ProcessManagement.css</CSS>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.js</JavaScript>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AdminProcessManagementPath" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Admin::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Group>admin</Group>
                <Description>Admin</Description>
                <Title Translatable="1">Process Management Path GUI</Title>
                <Loader>
                    <CSS>Core.Agent.Admin.ProcessManagement.css</CSS>
                    <CSS>Core.AllocationList.css</CSS>
                    <JavaScript>Core.Agent.Admin.ProcessManagement.js</JavaScript>
                    <JavaScript>Core.UI.AllocationList.js</JavaScript>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>

    <ConfigItem Name="Frontend::NavBarModule###1-TicketProcesses" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration (disable ticket processes screen if no process available).</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::NavBarModule</SubGroup>
        <Setting>
            <Hash>
                <Item Key="Module">Kernel::Output::HTML::NavBarAgentTicketProcess</Item>
            </Hash>
        </Setting>
    </ConfigItem>

    <!-- OTRSTicketProcesses Merged Settings Start -->
    <ConfigItem Name="Frontend::Module###AgentTicketProcess" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Description>Create new process ticket</Description>
                <Title>New process ticket</Title>
                <NavBarName>Ticket</NavBarName>
                <NavBar>
                    <Description Translatable="1">Create New process ticket</Description>
                    <Name Translatable="1">New process ticket</Name>
                    <Link>Action=AgentTicketProcess</Link>
                    <LinkOption></LinkOption>
                    <NavBar>Ticket</NavBar>
                    <Type></Type>
                    <Block></Block>
                    <AccessKey>p</AccessKey>
                    <Prio>220</Prio>
                </NavBar>
                <Loader>
                    <CSS>Core.Agent.TicketProcess.css</CSS>
                    <JavaScript>Core.Agent.CustomerSearch.js</JavaScript>
                    <JavaScript>Core.Agent.TicketAction.js</JavaScript>
                    <JavaScript>Core.Agent.TicketProcess.js</JavaScript>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::EventModulePost###TicketProcessTransitions" Required="0" Valid="1">
        <Description Translatable="1">Event module registration. For more performance you can define a trigger event (e. g. Event =&gt; TicketCreate).</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core::Ticket</SubGroup>
        <Setting>
            <Hash>
                <Item Key="Module">Kernel::System::Ticket::Event::TicketProcessTransitions</Item>
                <Item Key="Transaction">1</Item>
                <Item Key="Event"></Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::DynamicFieldProcessManagementProcessID" Required="1" Valid="1">
        <Description Translatable="1">This option defines the dynamic field in which a Process Management process entity id is stored.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <Setting>
            <String Regex="">ProcessManagementProcessID</String>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::DynamicFieldProcessManagementActivityID" Required="1" Valid="1">
        <Description Translatable="1">This option defines the dynamic field in which a Process Management activity entity id is stored.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <Setting>
            <String Regex="">ProcessManagementActivityID</String>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::DefaultQueue" Required="1" Valid="1">
        <Description Translatable="1">This option defines the process tickets default queue.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <ValidateModule>Kernel::System::SysConfig::QueueValidate</ValidateModule>
        <Setting>
            <String Regex="">Raw</String>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::DefaultState" Required="1" Valid="1">
        <Description Translatable="1">This option defines the process tickets default state.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <ValidateModule>Kernel::System::SysConfig::StateValidate</ValidateModule>
        <Setting>
            <String Regex="">new</String>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::DefaultLock" Required="1" Valid="1">
        <Description Translatable="1">This option defines the process tickets default lock.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <Setting>
            <String Regex="">unlock</String>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::DefaultPriority" Required="1" Valid="1">
        <Description Translatable="1">This option defines the process tickets default priority.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <ValidateModule>Kernel::System::SysConfig::PriorityValidate</ValidateModule>
        <Setting>
            <String Regex="">3 normal</String>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::Frontend::AgentTicketZoom###ProcessDisplay" Required="1" Valid="1">
        <Description Translatable="1">Display settings to override defaults for Process Tickets.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Ticket::ViewZoom</SubGroup>
        <Setting>
            <Hash>
                <Item Key="NavBarName" Translatable="1">Processes</Item>
                <Item Key="WidgetTitle" Translatable="1">Process Information</Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicFieldGroups" Required="1" Valid="1">
        <Description Translatable="1">Dynamic fields groups for process widget. The key is the name of the group, the value contains the fields to be shown. Example: 'Key =&gt; My Group', 'Content: Name_X, NameY'.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Ticket::ViewZoom</SubGroup>
        <Setting>
            <Hash>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicField" Required="1" Valid="1">
        <Description Translatable="1">Dynamic fields shown in the process widget in ticket zoom screen of the agent interface. Possible settings: 0 = Disabled, 1 = Enabled.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Ticket::ViewZoom</SubGroup>
        <Setting>
            <Hash>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::Frontend::MenuModule###480-Process" Required="0" Valid="1">
        <Description Translatable="1">Shows a link in the menu to enroll a ticket into a process in the ticket zoom view of the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Ticket::MenuModule</SubGroup>
        <Setting>
            <Hash>
                <Item Key="Module">Kernel::Output::HTML::TicketMenuProcess</Item>
                <Item Key="Name">Process Enroll</Item>
                <Item Key="Description" Translatable="1">Enroll this ticket into a process</Item>
                <Item Key="Action">AgentTicketProcess</Item>
                <Item Key="Link">Action=AgentTicketProcess;IsProcessEnroll=1;TicketID=[% Data.TicketID | html %]</Item>
                <Item Key="Target"></Item>
                <Item Key="PopupType">TicketAction</Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="CustomerFrontend::Module###CustomerTicketProcess" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration for the customer interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Customer::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Description>Process Ticket</Description>
                <NavBarName>Ticket</NavBarName>
                <Title>Process ticket</Title>
                <NavBar>
                    <Description Translatable="1">Create new process ticket</Description>
                    <Name Translatable="1">New process ticket</Name>
                    <Link>Action=CustomerTicketProcess</Link>
                    <LinkOption></LinkOption>
                    <NavBar>Ticket</NavBar>
                    <Type>Submenu</Type>
                    <Block></Block>
                    <AccessKey>o</AccessKey>
                    <Prio>220</Prio>
                </NavBar>
                <Loader>
                    <CSS>Core.Customer.TicketProcess.css</CSS>
                </Loader>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="CustomerFrontend::NavBarModule###10-CustomerTicketProcesses" Required="0" Valid="1">
        <Description Translatable="1">Frontend module registration (disable ticket processes screen if no process available) for Customer.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Customer::NavBarModule</SubGroup>
        <Setting>
            <Hash>
                <Item Key="Module">Kernel::Output::HTML::NavBarCustomerTicketProcess</Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <!-- OTRSTicketProcesses Merged Settings End -->

    <ConfigItem Name="Process::Entity::Prefix" Required="1" Valid="1">
        <Description Translatable="1">Default ProcessManagement entity prefixes for entity IDs that are automatically generated.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <Setting>
            <Hash>
                <Item Key="Process">P</Item>
                <Item Key="Activity">A</Item>
                <Item Key="ActivityDialog">AD</Item>
                <Item Key="Transition">T</Item>
                <Item Key="TransitionAction">TA</Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::CacheTTL" Required="1" Valid="1">
        <Description Translatable="1">Cache time in seconds for the DB process backend.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <Setting>
            <String Regex="">3600</String><!-- default 1 hour -->
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Process::NavBarOutput::CacheTTL" Required="1" Valid="1">
        <Description Translatable="1">Cache time in seconds for the ticket process navigation bar output module.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core</SubGroup>
        <Setting>
            <String Regex="">900</String><!-- default 15 minutes -->
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::Frontend::AgentTicketProcess###StateType" Required="1" Valid="1">
        <Description Translatable="1">Determines the next possible ticket states, for process tickets in the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Ticket::ViewProcess</SubGroup>
        <Setting>
            <Array>
                <Item>new</Item>
                <Item>open</Item>
                <Item>pending auto</Item>
                <Item>pending reminder</Item>
                <Item>closed</Item>
            </Array>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Ticket::Frontend::CustomerTicketProcess###StateType" Required="1" Valid="1">
        <Description Translatable="1">Determines the next possible ticket states, for process tickets in the agent interface.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Ticket::ViewProcess</SubGroup>
        <Setting>
            <Array>
                <Item>new</Item>
                <Item>open</Item>
            </Array>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="ProcessManagement::Transition::Debug::Enabled" Required="1" Valid="1">
        <Description Translatable="1">If enabled debugging information for transitions is logged.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core::Transition</SubGroup>
        <Setting>
            <Option SelectedID="0">
                    <Item Key="0">No</Item>
                    <Item Key="1">Yes</Item>
            </Option>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="ProcessManagement::Transition::Debug::LogPriority" Required="0" Valid="0">
        <Description Translatable="1">Defines the priority in which the information is logged and presented.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core::Transition</SubGroup>
        <Setting>
            <Option SelectedID="debug">
                    <Item Key="debug">Debug</Item>
                    <Item Key="info">Info</Item>
                    <Item Key="notice">Notice</Item>
                    <Item Key="error">Error</Item>
            </Option>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="ProcessManagement::Transition::Debug::Filter###00-Default" Required="0" Valid="0">
        <Description Translatable="1">Filter for debugging Transitions. Note: More filters can be added in the format &lt;OTRS_TICKET_Attribute&gt; e.g. &lt;OTRS_TICKET_Priority&gt;.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Core::Transition</SubGroup>
        <Setting>
            <Hash>
                <Item Key="TransitionEntityID"></Item>
                <Item Key="&lt;OTRS_TICKET_TicketNumber&gt;"></Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="DashboardBackend###0140-RunningTicketProcess" Required="0" Valid="1">
        <Description Translatable="1">Parameters for the dashboard backend of the running process tickets overview of the agent interface . "Limit" is the number of entries shown by default. "Group" is used to restrict the access to the plugin (e. g. Group: admin;group1;group2;). "Default" determines if the plugin is enabled by default or if the user needs to enable it manually. "CacheTTLLocal" is the cache time in minutes for the plugin.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>Frontend::Agent::Dashboard</SubGroup>
        <Setting>
            <Hash>
                <Item Key="Module">Kernel::Output::HTML::DashboardTicketGeneric</Item>
                <Item Key="Title" Translatable="1">Running Process Tickets</Item>
                <Item Key="Description">All tickets with a reminder set where the reminder date has been reached</Item>
                <Item Key="Attributes">StateType=new;StateType=open;StateType=pending reminder;StateType=pending auto</Item>
                <Item Key="Time">UntilTime</Item>
                <Item Key="IsProcessWidget">1</Item>
                <Item Key="Limit">10</Item>
                <Item Key="Permission">rw</Item>
                <Item Key="Block">ContentLarge</Item>
                <Item Key="Group"></Item>
                <Item Key="Default">0</Item>
                <Item Key="CacheTTLLocal">0.5</Item>
                <Item Key="DefaultColumns">
                    <Hash>
                        <Item Key="Age">2</Item>
                        <Item Key="DynamicField_ProcessManagementProcessID">2</Item>
                        <Item Key="DynamicField_ProcessManagementActivityID">2</Item>
                        <Item Key="Changed">1</Item>
                        <Item Key="CustomerID">1</Item>
                        <Item Key="CustomerName">1</Item>
                        <Item Key="CustomerUserID">1</Item>
                        <Item Key="EscalationResponseTime">1</Item>
                        <Item Key="EscalationSolutionTime">1</Item>
                        <Item Key="EscalationTime">1</Item>
                        <Item Key="EscalationUpdateTime">1</Item>
                        <Item Key="TicketNumber">2</Item>
                        <Item Key="Lock">1</Item>
                        <Item Key="Owner">1</Item>
                        <Item Key="PendingTime">1</Item>
                        <Item Key="Queue">1</Item>
                        <Item Key="Responsible">1</Item>
                        <Item Key="Priority">1</Item>
                        <Item Key="Service">1</Item>
                        <Item Key="State">1</Item>
                        <Item Key="SLA">1</Item>
                        <Item Key="Title">2</Item>
                        <Item Key="Type">1</Item>
                    </Hash>
                </Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="DynamicFields::Driver###ProcessID" Required="0" Valid="1">
        <Description Translatable="1">DynamicField backend registration.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>DynamicFields::Driver::Registration</SubGroup>
        <Setting>
            <Hash>
                <Item Key="DisplayName" Translatable="1">ProcessID</Item>
                <Item Key="Module">Kernel::System::DynamicField::Driver::ProcessManagement::ProcessID</Item>
                <Item Key="ConfigDialog">AdminDynamicFieldText</Item>
                <Item Key="DisabledAdd">1</Item>
            </Hash>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="DynamicFields::Driver###ActivityID" Required="0" Valid="1">
        <Description Translatable="1">DynamicField backend registration.</Description>
        <Group>ProcessManagement</Group>
        <SubGroup>DynamicFields::Driver::Registration</SubGroup>
        <Setting>
            <Hash>
                <Item Key="DisplayName" Translatable="1">ActivityID</Item>
                <Item Key="Module">Kernel::System::DynamicField::Driver::ProcessManagement::ActivityID</Item>
                <Item Key="ConfigDialog">AdminDynamicFieldText</Item>
                <Item Key="DisabledAdd">1</Item>
            </Hash>
        </Setting>
    </ConfigItem>

</otrs_config>
