Copy Widget "New Tickets"

Moderator: crythias

Post Reply
d22mauro
Znuny newbie
Posts: 4
Joined: 17 Nov 2025, 15:37
Znuny Version: 6.5.11
Real Name: Mauro

Copy Widget "New Tickets"

Post by d22mauro »

Hi. I create the same ticket question in Italian Area, but no anyone reply me in 8 days (viewtopic.php?t=44544).
So i decite to post here to ... sorry for the duplicated question.

Hi everyone, My name is Mauro.
I'm using Znuny version 6.5.11, with Docker.
I've Googled and done a lot of research regarding my needs, but I haven't found anything "complete" and I haven't yet achieved the desired result.
My need is to "duplicate" the "New Tickets" widget in the main operator dashboard.
I need to manage more queues, and using the "queue filter" in the widget, I'd like to have a widget that shows me "only" tickets from one queue, and a second widget that shows me "only" tickets from the other queue.
I've read that, all I need to do, is create a new .xml file with the new widget's XML content, duplicating the default one and only changing the index number.
I then created a new file "SecondoWidget.xml" and placed it in the path "/opt/otrs/Kernel/Config/Files/XML", composed as follows:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<otrs_config version="2.0" init="Application">
    <Setting Name="DashboardBackend###0122-SecondTicketNew" Required="0" Valid="1">
        <Description Translatable="1">Parameters for the dashboard backend of the new 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. "Mandatory" determines if the plugin is always shown and can not be removed by agents. Note: Only Ticket attributes and Dynamic Fields (DynamicField_NameX) are allowed for DefaultColumns.</Description>
        <Navigation>Frontend::Agent::View::Dashboard</Navigation>
        <Value>
            <Hash>
                <Item Key="Module">Kernel::Output::HTML::Dashboard::TicketGeneric</Item>
                <Item Key="Title" Translatable="1">Second New Tickets</Item>
                <Item Key="Description" Translatable="1">All new tickets, these tickets have not been worked on yet</Item>
                <Item Key="Attributes">StateType=new;</Item>
                <Item Key="Filter" Translatable="1">All</Item>
                <Item Key="Time">Age</Item>
                <Item Key="Limit">10</Item>
                <Item Key="Permission">rw</Item>
                <Item Key="Block">ContentLarge</Item>
                <Item Key="Group"></Item>
                <Item Key="Default">1</Item>
                <Item Key="CacheTTLLocal">0.5</Item>
                <Item Key="DefaultColumns">
                    <Hash>
                        <DefaultItem ValueType="Select">
                            <Item ValueType="Option" Value="0" Translatable="1">0 - Disabled</Item>
                            <Item ValueType="Option" Value="1" Translatable="1">1 - Available</Item>
                            <Item ValueType="Option" Value="2" Translatable="1">2 - Enabled by default</Item>
                        </DefaultItem>
                        <Item Key="Age" SelectedID="2"></Item>
                        <Item Key="Changed" SelectedID="1"></Item>
                        <Item Key="Created" SelectedID="1"></Item>
                        <Item Key="CustomerCompanyName" SelectedID="1"></Item>
                        <Item Key="CustomerID" SelectedID="1"></Item>
                        <Item Key="CustomerName" SelectedID="1"></Item>
                        <Item Key="CustomerUserID" SelectedID="1"></Item>
                        <Item Key="EscalationResponseTime" SelectedID="1"></Item>
                        <Item Key="EscalationSolutionTime" SelectedID="1"></Item>
                        <Item Key="EscalationTime" SelectedID="1"></Item>
                        <Item Key="EscalationUpdateTime" SelectedID="1"></Item>
                        <Item Key="TicketNumber" SelectedID="2"></Item>
                        <Item Key="Lock" SelectedID="1"></Item>
                        <Item Key="Owner" SelectedID="1"></Item>
                        <Item Key="PendingTime" SelectedID="1"></Item>
                        <Item Key="Queue" SelectedID="1"></Item>
                        <Item Key="Responsible" SelectedID="1"></Item>
                        <Item Key="Priority" SelectedID="1"></Item>
                        <Item Key="Service" SelectedID="1"></Item>
                        <Item Key="State" SelectedID="1"></Item>
                        <Item Key="SLA" SelectedID="1"></Item>
                        <Item Key="Title" SelectedID="2"></Item>
                        <Item Key="Type" SelectedID="1"></Item>
                    </Hash>
                </Item>
                <Item Key="Mandatory">0</Item>
            </Hash>
        </Value>
    </Setting>
</otrs_config>

Even if I restart Znuny, I still can't enable the new widget, either in Sysconfig (DashboardBackend##) or in the Dashboard as a flag for any new widgets (I'd expect a new line titled "Second New Tickets").
Is the procedure correct?
What's missing?
Thanks in advance.
Mauro.
d22mauro
Znuny newbie
Posts: 4
Joined: 17 Nov 2025, 15:37
Znuny Version: 6.5.11
Real Name: Mauro

Re: Copy Widget "New Tickets"

Post by d22mauro »

Hello.
After waiting a while, I'm answering this question myself so it can be helpful to others in my situation.

In this post post
User fasiha has a similar need.
He is therefore advised to run the command

Code: Select all

/opt/otrs/bin/otrs.Console.pl Maint::Config::Rebuild
In fact, it is precisely this command that activates the changes made with the new XML file.
In my case, the complete command was:

Code: Select all

su -c "/opt/otrs/bin/otrs.Console.pl Maint::Config::Rebuild" -s /bin/bash otrs

(It must be run as the "otrs" user)

In another post
where the "Rebuild" command is discussed, another user reassures us about what the command does:
if you're paranoid, back up the Kernel/Config/Files/* before running the command. But it won't touch your custom configurations.
After completing these last steps, I have my new widget in the dashboard, for all users. By default, it is "Active".

Thanks.
Mauro.
Post Reply