
I would like to propose adding support for multiple customer ids being assigned to one user. I believe it is problematic that a user can only have one customer id because this forces a ticket to be either completely private (viewable by one individual only) or completely public (viewable by a group of people that share the same customer id). I believe each user should be be able to have both "private" and "public" tickets. I have reprogrammed several of the modules to allow for this support and have attached a diff file with my changes. My initial testing shows it to work properly, but I would be interested in feedback (especially if you can find bugs). Here is the philosphy. A user should be able to have a primary (private) id and multiple secondary (public) ids. These ids will be stored as a single string in either the OTRS local "Customer ID" field, or in an LDAP field that allows for arbitrary strings. For example, I use an LDAP customer backend. I use the 'url' field for my customer id field: # abbreviated for ease of reading $Self->{CustomerUser} = { Name => 'LDAP Source', Module => 'Kernel::System::CustomerUser::LDAP', CustomerID => 'url', # This line! Map => [ [ 'UserCustomerID', 'CustomerID', 'url', 0, 1, 'var' ], # This line! ], }; The single string stored in 'url' will be in the format of primaryid;sec_id1;sec_id2;etc. Example: I want to submit private tickets under the id of 'tylerh@natr.com'. I also want to submit tickets that groups of people can see. The different groups are 'web' and 'qa'. My customer id string would be: 'tylerh@natr.com;web;qa'. I can get access to each customer id by using "split" to split up the UserCustomerID string after it is read into the program. See the diff file for details. FAQ: Q: How does the system decide which id to use for the creation of new tickets? A: All tickets created via "Phone View" "Compose Email" or self submitted by the user default to the primary id. X-OTRS headers and manual intervention can be used to change the id. Q: Will these changes break existing installations of OTRS? A: No. Current users will see no change and notice no difference in the performance of their systems. This code only adds the ability to support multiple customer ids if the user so desires to implement it. Q: Is there anything wrong with the changes made? A: Yes, there are some aesthetic problems with the way tickets are displayed in the customer panel. The panel does not show which customer id a ticket belongs to. Also, even though all tickets with different ids display, they display in clumps. Example: id WEB: ticket numbers: 10, 8, 6 id QA: ticket numbers: 9, 7, 5 Displays as: 10,8,6,9,7,5 Regardless of which type of sort is applied each group of tickets stays in its group. I know why this occurs, but I am not sure how to make it different. Any help/advice/opinions on how to display the customer id of each ticket and intermix the tickets regardless of id would be appreciated. Please take a look at the diffs and let me know what you think. Thanks, Tyler Hepworth