[rt-users] Simplifying update history view for tickets?

2016-09-28 Thread Alex Hall
Hello all,
The last major complaint, at least for now, that users are giving me is
regarding the ticket view. They want to know if I can modify it in a few
ways.

First, no one wants to see this email-like text, and would much rather it
simply be a list of who said what and when. Instead of offering to show
quoted text, showing things like "text/HTML 41B", offering download links
with and without headers, and all that, they just want a simple list.
Basically, it should look more like a forum conversation than an archived
email conversation. This extends to the reply text field; why does it
include the original text? Other admins, who are training the rest of the
company, have told users to be sure to delete the original text when
replying in an attempt to cut down on some of the clutter.

In my mind, such a rule should be unnecessary. There should be a way to get
rid of the unused links, and to not have so many email-like "features"
crowding the ticket information page. So much about RT can be so
customized, that I have to think doing this is possible.

On a similar topic, I asked a while back about emailed replies, and how
they always include signatures from the sender, quoted text, and sometimes
all the text, not realizing some should be quoted. Is there a way to have
RT add the content of an email to a ticket, but stop at a special cut-off
line? On the line "--reply above this line", for instance, RT should simply
discard the rest of the email and include only the text above that line as
the reply text.

Finally, is there a way to sort the order of the ticket view's major
sections? For instance, to put Quick Links and Dates below History? Most of
our users will want to view the history first, and/or want easy access to
the Reply button, but as it stands now, all of that is at the very bottom
of the page.

Thanks in advance, as always, for your patience and ideas.

-- 
Alex Hall
Automatic Distributors, IT department
ah...@autodist.com
-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017

Re: [rt-users] Pushing Tickets in queue the "pusher" is not a member of?

2016-09-28 Thread Kenneth Marshall
On Mon, Sep 26, 2016 at 06:02:53PM +0200, Patrick G. Stoesser wrote:
> Hello there,
> 
> I'm using RT 4.2.8. I'm having several queues for several departments.
> 
> Now, tickets have to be pushed into other queues where then the
> according department works on them. But the "pusher" should not be a
> member of the queue, and he should not even see the queue.
> 
> Now I'm not getting anywhere with this. How do I systematically
> enable users to push tickets in queues in which they are no members,
> and which they don't need to see?
> 
> Thanks for any advice.
> 
> Regards, Patrick

Hi Patrick,

We have given the groups that should only be able to 'push' at ticket
to a queue only the SeeQueue and CreateTicket rights. They can see the
name of the queue(s) in that assignment dropdown but not the tickets
in the queue.

Regards,
Ken
-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] Postgresql 4.4.1 slow queries?

2016-09-28 Thread Emmanuel Lacour
Le 28/09/2016 à 11:12, Joel Bergmark a écrit :
> Hi!
>
> This is the output from explain:
>
> postgres=# EXPLAIN SELECT DISTINCT main.* FROM Users main CROSS JOIN ACL 
> ACL_3 JOIN Principals Principals_1  ON ( Principals_1.id = main.id ) JOIN 
> CachedGroupMembers CachedGroupMembers_2  ON ( CachedGroupMembers_2.MemberId = 
> Principals_1.id ) JOIN CachedGroupMembers CachedGroupMembers_4  ON ( 
> CachedGroupMembers_4.MemberId = Principals_1.id )  WHERE ((ACL_3.ObjectType = 
> 'RT::Queue' AND ACL_3.ObjectId   = 56) OR (ACL_3.ObjectType = 'RT::System' 
> AND ACL_3.ObjectId   = 1)) AND (ACL_3.PrincipalId = 
> CachedGroupMembers_4.GroupId) AND (ACL_3.PrincipalType = 'Group') AND 
> (ACL_3.RightName = 'OwnTicket') AND (CachedGroupMembers_2.Disabled = '0') AND 
> (CachedGroupMembers_2.GroupId = '4') AND (CachedGroupMembers_4.Disabled = 
> '0') AND (Principals_1.Disabled = '0') AND (Principals_1.PrincipalType = 
> 'User') AND (Principals_1.id != '1')  ORDER BY main.Name ASC;
> ERROR:  relation "users" does not exist
> LINE 1: EXPLAIN SELECT DISTINCT main.* FROM Users main CROSS JOIN AC...
>

seems you are not connected to the right database as the table Users is
not found ;)
-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017

Re: [rt-users] Postgresql 4.4.1 slow queries?

2016-09-28 Thread Nilesh
You made some typing mistake, you should get something like this:

   QUERY
PLAN

-
 Unique  (cost=33.54..33.62 rows=1 width=329)
   ->  Sort  (cost=33.54..33.54 rows=1 width=329)
 Sort Key: main.name, main.id, main.password, main.authtoken,
main.comments, main.signature, main.emailaddress, main.freeformcontactinfo,
main.organization, main.realname, main.nickname, main.lang, main.gecos,
main.homephone, main.workphone, main.mobilephone, main.pagerphone,
main.address1, main.address2, main.city, main.state, main.zip,
main.country, main.timezone, main.smimecertificate, main.creator,
main.created, main.lastupdatedby, main.lastupdated
 ->  Nested Loop  (cost=1.12..33.53 rows=1 width=329)
   Join Filter: (main.id = principals_1.id)
   ->  Nested Loop  (cost=0.84..33.18 rows=1 width=337)
 Join Filter: (main.id = cachedgroupmembers_2.memberid)
 ->  Nested Loop  (cost=0.56..29.94 rows=9 width=333)
   ->  Nested Loop  (cost=0.28..13.74 rows=51
width=4)
 ->  Seq Scan on acl acl_3
(cost=0.00..5.40 rows=1 width=4)
   Filter: (((principaltype)::text =
'Group'::text) AND ((rightname)::text = 'OwnTicket'::text) AND
objecttype)::text = 'RT::Queue'::text) AND (objectid = 56)) OR
(((objecttype)::text = 'RT::System'::text) AND (objectid = 1
 ->  Index Only Scan using disgroumem on
cachedgroupmembers cachedgroupmembers_4  (cost=0.28..8.32 rows=2 width=8)
   Index Cond: ((groupid =
acl_3.principalid) AND (disabled = 0))
   ->  Index Scan using users_pkey on users main
(cost=0.28..0.31 rows=1 width=329)
 Index Cond: (id =
cachedgroupmembers_4.memberid)
 ->  Index Only Scan using disgroumem on
cachedgroupmembers cachedgroupmembers_2  (cost=0.28..0.35 rows=1 width=4)
   Index Cond: ((groupid = 4) AND (memberid =
cachedgroupmembers_4.memberid) AND (disabled = 0))
   ->  Index Scan using principals_pkey on principals
principals_1  (cost=0.28..0.34 rows=1 width=4)
 Index Cond: (id = cachedgroupmembers_4.memberid)
 Filter: ((id <> 1) AND (disabled = 0) AND
((principaltype)::text = 'User'::text))


On Wed, Sep 28, 2016 at 2:42 PM, Joel Bergmark  wrote:

> Hi!
>
> This is the output from explain:
>
> postgres=# EXPLAIN SELECT DISTINCT main.* FROM Users main CROSS JOIN ACL
> ACL_3 JOIN Principals Principals_1  ON ( Principals_1.id = main.id ) JOIN
> CachedGroupMembers CachedGroupMembers_2  ON ( CachedGroupMembers_2.MemberId
> = Principals_1.id ) JOIN CachedGroupMembers CachedGroupMembers_4  ON (
> CachedGroupMembers_4.MemberId = Principals_1.id )  WHERE ((ACL_3.ObjectType
> = 'RT::Queue' AND ACL_3.ObjectId   = 56) OR (ACL_3.ObjectType =
> 'RT::System' AND ACL_3.ObjectId   = 1)) AND (ACL_3.PrincipalId =
> CachedGroupMembers_4.GroupId) AND (ACL_3.PrincipalType = 'Group') AND
> (ACL_3.RightName = 'OwnTicket') AND (CachedGroupMembers_2.Disabled = '0')
> AND (CachedGroupMembers_2.GroupId = '4') AND (CachedGroupMembers_4.Disabled
> = '0') AND (Principals_1.Disabled = '0') AND (Principals_1.PrincipalType =
> 'User') AND (Principals_1.id != '1')  ORDER BY main.Name ASC;
> ERROR:  relation "users" does not exist
> LINE 1: EXPLAIN SELECT DISTINCT main.* FROM Users main CROSS JOIN AC...
>
> I have looked for more queries that takes time and its always this query
> that generates the slow behavior, but seemingly the query itself seems fine
> "users" exists in db, but then again obviously postgres has issues with
> something here.
>
> Any thoughts?
>
> Regards, Joel
>
> -Ursprungligt meddelande-
> Från: rt-users [mailto:rt-users-boun...@lists.bestpractical.com] För
> Nilesh
> Skickat: den 27 september 2016 17:36
> Till: rt-users@lists.bestpractical.com
> Ämne: Re: [rt-users] Postgresql 4.4.1 slow queries?
>
> On Tue, 2016-09-27 at 07:52 +, Joel Bergmark wrote:
> > Hi,
> >
> > After upgrading to version 4.4.1 i have noticed that the SQL-queries
> > takes significant longer time to produce a result, on average on my
> > system, running Ubuntu 14.04 LTS, Postgres 9.3, Apache with perlmod. 8
> > gigram and plenty of CPU in a vmware cluster on SSD:s (likely not a
> > hardware issue). We did not experience RT to have been this slow on
> 4.4.0.
> >
> > Each query 

Re: [rt-users] Postgresql 4.4.1 slow queries?

2016-09-28 Thread Joel Bergmark
Hi!

This is the output from explain:

postgres=# EXPLAIN SELECT DISTINCT main.* FROM Users main CROSS JOIN ACL ACL_3 
JOIN Principals Principals_1  ON ( Principals_1.id = main.id ) JOIN 
CachedGroupMembers CachedGroupMembers_2  ON ( CachedGroupMembers_2.MemberId = 
Principals_1.id ) JOIN CachedGroupMembers CachedGroupMembers_4  ON ( 
CachedGroupMembers_4.MemberId = Principals_1.id )  WHERE ((ACL_3.ObjectType = 
'RT::Queue' AND ACL_3.ObjectId   = 56) OR (ACL_3.ObjectType = 'RT::System' AND 
ACL_3.ObjectId   = 1)) AND (ACL_3.PrincipalId = CachedGroupMembers_4.GroupId) 
AND (ACL_3.PrincipalType = 'Group') AND (ACL_3.RightName = 'OwnTicket') AND 
(CachedGroupMembers_2.Disabled = '0') AND (CachedGroupMembers_2.GroupId = '4') 
AND (CachedGroupMembers_4.Disabled = '0') AND (Principals_1.Disabled = '0') AND 
(Principals_1.PrincipalType = 'User') AND (Principals_1.id != '1')  ORDER BY 
main.Name ASC;
ERROR:  relation "users" does not exist
LINE 1: EXPLAIN SELECT DISTINCT main.* FROM Users main CROSS JOIN AC...

I have looked for more queries that takes time and its always this query that 
generates the slow behavior, but seemingly the query itself seems fine "users" 
exists in db, but then again obviously postgres has issues with something here.

Any thoughts?

Regards, Joel

-Ursprungligt meddelande-
Från: rt-users [mailto:rt-users-boun...@lists.bestpractical.com] För Nilesh
Skickat: den 27 september 2016 17:36
Till: rt-users@lists.bestpractical.com
Ämne: Re: [rt-users] Postgresql 4.4.1 slow queries?

On Tue, 2016-09-27 at 07:52 +, Joel Bergmark wrote:
> Hi,
>  
> After upgrading to version 4.4.1 i have noticed that the SQL-queries 
> takes significant longer time to produce a result, on average on my 
> system, running Ubuntu 14.04 LTS, Postgres 9.3, Apache with perlmod. 8 
> gigram and plenty of CPU in a vmware cluster on SSD:s (likely not a 
> hardware issue). We did not experience RT to have been this slow on 4.4.0.
>  
> Each query takes about 350ms to give a result, occasionally up to 
> 4000ms have been seen, not a big problem but somethings that needs to be 
> fixed.
>  
> Postgres have access to shared buffers = 2048 and effective_cache_size 
> = 4096MB that was modified yesterday but queries still are same speed.
>  
> I have read plenty on postgres optimizing but not much seem to make a 
> difference, and the 
> https://rt-wiki.bestpractical.com/wiki/PerformanceTuning
> seems a bit out of date.
>  
> Example of problem:
>  
> 192.168.2.65 - - [27/Sep/2016:09:06:49 +0200] "GET
> /Search/Build.html?NewQuery=1 HTTP/1.1" 200 12072 Mozilla/5.0 (Windows 
> NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) 
> Chrome/53.0.2785.101 Safari/537.36"
> 
> 09:06:52 CEST LOG:  duration: 3362.432 ms  execute dbdpg_p2242_1745: 
> SELECT DISTINCT main.* FROM Users main CROSS JOIN ACL ACL_3 JOIN 
> Principals
> Principals_1  ON ( Principals_1.id = main.id ) JOIN CachedGroupMembers
> CachedGroupMembers_2  ON ( CachedGroupMembers_2.MemberId = 
> Principals_1.id ) JOIN CachedGroupMembers CachedGroupMembers_4  ON ( 
> CachedGroupMembers_4.MemberId = Principals_1.id )  WHERE 
> ((ACL_3.ObjectType =
> 'RT::Queue') OR (ACL_3.ObjectType = 'RT::System' AND ACL_3.ObjectId   
> = 1)) AND (ACL_3.PrincipalId = CachedGroupMembers_4.GroupId) AND 
> (ACL_3.PrincipalType = 'Group') AND (ACL_3.RightName = 'OwnTicket' OR 
> ACL_3.RightName = 'SuperUser') AND (CachedGroupMembers_2.Disabled = 
> '0') AND (CachedGroupMembers_2.GroupId = '4') AND 
> (CachedGroupMembers_4.Disabled = '0') AND (Principals_1.Disabled = 
> '0') AND (Principals_1.PrincipalType = 'User') AND (Principals_1.id != 
> '1')  ORDER BY main.Name ASC
> 
> I’m looking for any suggestions about this, and I’m not an expert on 
> postgresql, but guess that this could have something to do with RT:s 
> “($UseSQLForACLChecks, 1);” or modperl via Apache or simply some index 
> in postgres?
>  
> Appreciate any feedback :-)
> 
> Regards, Joel
>  
> -
> RT 4.4 and RTIR training sessions, and a new workshop day! 
> https://bestpractic al.com/training
> * Boston - October 24-26
> * Los Angeles - Q1 2017

What do you get if you run EXPLAIN over that query directly in psql CLI?

--
Nilesh

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017
-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017