Company Tickets

Hilfe zu OTRS Problemen aller Art
Post Reply
Kristian
Znuny newbie
Posts: 12
Joined: 16 Feb 2011, 16:28
Znuny Version: 3.1.13

Company Tickets

Post by Kristian »

Hallo OTRS Forum,

nach dem ich den halben Tag versuche die Company Ticktes richtig zu konfigurieren wende ich mich nun an euch.
Mein Problem ist, dass jeder User nur seine eigenen Tickets innerhalb der Company Tickets sieht.
Gewollt ist aber, dass jeder alle Tickets von anderen User sieht und nicht nur seine eigenen.
Wo kann ich dieses einstellen/verstellen?

Anbei der Auszug für Customer aus meiner Config.pm

Code: Select all

# LDAP for Customers
  $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
  $Self->{'Customer::AuthModule::LDAP::Host'} = 'yyy.domain.com';
  $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'xxx';
  $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
  $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'xxUserDNxx';
  $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'meow';

  $Self->{CustomerUser} = {
      Module => 'Kernel::System::CustomerUser::LDAP',
      Params => {
      		 Host => 'xxx.domain.com',
		     BaseDN => 'xxx',
		     SSCOPE => 'sub',
      		 UserDN => 'xxUserDNxx',
	         UserPw => 'meow',
		     AlwaysFilter => '(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=xxx,DC=xxx)'
                },
	        
    CustomerUserExcludePrimaryCustomerID => 1,
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    
    Map => [
      # note: Login, Email and CustomerID needed!
      #  var            , frontend    , storage          , shown, required, storage-type
      
      [ 'UserFirstname' , 'Firstname' , 'givenname'      , 1    , 1       , 'var' ],
      [ 'UserLastname'  , 'Lastname'  , 'sn'             , 1    , 1       , 'var' ],
      [ 'UserComment'   , 'Abteilung' , 'department'     , 1    , 0       , 'var' ],
      [ 'UserSalutation', 'Title'     , 'title'          , 1    , 0       , 'var' ],
      [ 'UserLogin'     , 'Login'     , 'sAMAccountName' , 1    , 1       , 'var' ],
      [ 'UserEmail'     , 'Email'     , 'mail'           , 1    , 1       , 'var' ],
      [ 'UserCustomerID', 'CustomerID', 'mail'           , 0    , 1       , 'var' ],
      [ 'UserPhone'     , 'Phone'     , 'telephonenumber', 1    , 0       , 'var' ],
      [ 'UserAddress'   , 'Address'   , 'postaladdress'  , 1    , 0       , 'var' ],
      ],
  };

# EOC
#------------------------------------------------------------------------

MfG Kristian
openSUSE 11.4 / OTRS 3.1.13 / MySQL 5.1.63
giga0069
Znuny newbie
Posts: 66
Joined: 30 Apr 2009, 23:37
Znuny Version: 3.0.8
Location: Köln

Re: Company Tickets

Post by giga0069 »

Hallo,

handelt es sich bei den Usern um externe oder interne User (Kunden oder Mitarbeiter)? Gibt es verschiedene Companies oder sind alle in der gleichen Company?

Wo holst Du Dir denn in der LDAP-Abfrage überhaupt die Angaben zur Company?

giga0069
OTRS Produktiv: 3.1.12 / ITSM 3.1.7
OTRS Testing: 3.2
OS: Windows 2008 R2 Server
Apache2.2/MySQL 5
Kristian
Znuny newbie
Posts: 12
Joined: 16 Feb 2011, 16:28
Znuny Version: 3.1.13

Re: Company Tickets

Post by Kristian »

Hallo giga,

es handelt sich nur um interne User welche verschiedene Werte innerhalb des Company-Feldes haben.
Ich habe folgende Zeile in das Map hinzugefügt:

Code: Select all

 [ 'UserCustomerIDs' ,  'CustomerIDs' ,  'objectCategory'          , 1, 0, 'var', '', 0 ],
Nun sehe ich als Agent die "Kundennummern", welche nun bei allen Usern gleich ist. Leider sehen meine User weiterhin keine Tickets der anderen (Ihre eigenen werden ausgeblendet) innerhalb der "Company Tickets".
Das LDAP Feld "company" kann ich nicht verwenden da es nicht bei jedem User gleich ist. :/
openSUSE 11.4 / OTRS 3.1.13 / MySQL 5.1.63
giga0069
Znuny newbie
Posts: 66
Joined: 30 Apr 2009, 23:37
Znuny Version: 3.0.8
Location: Köln

Re: Company Tickets

Post by giga0069 »

Kristian wrote:

Code: Select all

 [ 'UserCustomerIDs' ,  'CustomerIDs' ,  'objectCategory'          , 1, 0, 'var', '', 0 ],
Nun sehe ich als Agent die "Kundennummern", welche nun bei allen Usern gleich ist. Leider sehen meine User weiterhin keine Tickets der anderen (Ihre eigenen werden ausgeblendet) innerhalb der "Company Tickets".
Es gibt ja auch für den Agenten eine Anzeige der Company Tickets, siehst Du denn da alle Tickets?

Was ist mit der Suche, wenn Du nach allen Tickets suchst, die diese "Kundennummer" haben, findest Du dann alle Tickets?

Kann es vielleicht sein, dass die neue, einheitliche "Kundennummer" nicht bei den alten Tickets eingetragen ist?

Guido
OTRS Produktiv: 3.1.12 / ITSM 3.1.7
OTRS Testing: 3.2
OS: Windows 2008 R2 Server
Apache2.2/MySQL 5
Kristian
Znuny newbie
Posts: 12
Joined: 16 Feb 2011, 16:28
Znuny Version: 3.1.13

Re: Company Tickets

Post by Kristian »

giga0069 wrote: Es gibt ja auch für den Agenten eine Anzeige der Company Tickets, siehst Du denn da alle Tickets?
Als Agent innerhalb des Customerinterfaces sehe ich ebenso keine Tickets unter "Company Tickets".
giga0069 wrote: Was ist mit der Suche, wenn Du nach allen Tickets suchst, die diese "Kundennummer" haben, findest Du dann alle Tickets?
Die Suche nach "*" Tickets zeigt alle Tickets des Agenten, aber keine der User. (Bis jetzt haben nur 2 User Tickets gestellt und einer davon ist der Agent).
Die Suche nach der eindeutigen "CustomerID" erbrachte keine Treffer
giga0069 wrote: Kann es vielleicht sein, dass die neue, einheitliche "Kundennummer" nicht bei den alten Tickets eingetragen ist?
Guido
Ich habe ebenso Tickets mit verschiedenen eindeutigen Feldern aus der AD erstellt. Bis jetzt konnte ich immer nur meine eigenen Tickets sehen unter "Company Tickets". Eventuell liegt ein Verständnis Problem vor.

Die "CustomerID" gibt die Kundennummer des User's an und die "UserCustomerIDs" deklariert die dazugehörige Kundengruppe (Rechte auf Tickets von Users der gleichen "UserCustomerIDs") ?
Wenn ich jetzt allen User'n eine gleiche "CustomerID" verpasse dann werden jeden User alle Tickets zugeordnet? @.@

danke und schönes Wochenende

Kristian
openSUSE 11.4 / OTRS 3.1.13 / MySQL 5.1.63
Schlumpf
Znuny advanced
Posts: 119
Joined: 12 Jan 2010, 14:41
Znuny Version: 3.0.x

Re: Company Tickets

Post by Schlumpf »

Hallo,

hast du schon probiert deine Config.pm noch um die Zeile

CustomerCompanySupport => 1,

zu erweitern.
OTRS: 3.0.8
OS: SuSE
Module: Apache2, MySQL
Kristian
Znuny newbie
Posts: 12
Joined: 16 Feb 2011, 16:28
Znuny Version: 3.1.13

Re: Company Tickets

Post by Kristian »

Es war also doch ein Verständnisproblem. :/

unter:
http://doc.otrs.org/3.0/en/html/custome ... ckend-ldap
steht:
Script 11.7. Maping new fields to the Kernel/Config.pm file.
The field for the multiple customer IDs has to be edited directly in the LDAP directory. OTRS can only read from LDAP, not write to it.
To ensure access by a customer to the tickets of other customers, add the customer IDs of the customers whose tickets should be accessed to the new field in your LDAP directory. Each ID has to be separated by a semicolon (see Example 11-4 below).
Example 11.4. Using Company tickets with an LDAP backend
The customers A, B and C exist in your system and A wants to have access to the tickets of B and C via the customer panel. B and C should have no access to tickets of other users.
To realize this setup, change the LDAP directory and the mapping in Kernel/Config.pm as described above. Then add into the field for CustomerIDs the values "B;C;" for customer A in your LDAP directory.
Und das funktioniert auch soweit wie beschrieben bei mir. Man muss also jedem Customer alle Emailadressen der anderen Customer zuordnen (über ein Feld innerhalb des Verzeichnisdienstes). Gibt es einen anderen Weg (bei über 800 Usern macht sich das ziemlich schwierig) innerhalb eines customer-backend-ldap alle Ticktes in "Company Tickets" für alle Customer sichtbar zumachen?
openSUSE 11.4 / OTRS 3.1.13 / MySQL 5.1.63
Kristian
Znuny newbie
Posts: 12
Joined: 16 Feb 2011, 16:28
Znuny Version: 3.1.13

Re: Company Tickets

Post by Kristian »

Hallo,

ich habe das Problem gelöst. Es ist zwar nicht die beste Lösung aber eine funktionelle.
Anbei ein Ausschnitt meiner Konfiguration (Config.pm):

Code: Select all

...
 $Self->{CustomerUser} = {
      Module => 'Kernel::System::CustomerUser::LDAP',
      Params => {
                 Host => 'xxx.net',
                     BaseDN => 'dc=ad',
                     SSCOPE => 'sub',
                 UserDN => 'CN=OTRS',
                 UserPw => 'xxx',
                     AlwaysFilter =>
'(&(objectCategory=xxx)(!(userAccountControl=514))(mail=*)(!(sAMAccountName=res*))(!(sAMAccountName=admin*))(!(sAMAccountName=#*))(!(proxyAddresses=smtp:*.invalid)))'
                },

     CustomerUserExcludePrimaryCustomerID => 0,
    CustomerCompanySupport => 1,
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],

        Map => [
        # note: Login, Email and CustomerID are mandatory!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly

        [ 'UserFirstname'   ,  'Firstname'   ,  'givenname'           , 1, 1, 'var', '', 0 ],
        [ 'UserLastname'    ,  'Lastname'    ,  'sn'                  , 1, 1, 'var', '', 0 ],
        [ 'UserCompany'     ,  'Company'     ,  'company'             , 1, 1, 'var', '', 0 ],
        [ 'UserComment'     ,  'Department'  ,  'department'          , 1, 0, 'var', '', 0 ],
        [ 'UserTitle'       ,  'Title'       ,  'title'               , 1, 0, 'var', '', 0 ],
        [ 'UserLogin'       ,  'Login'       ,  'sAMAccountName'      , 0, 1, 'var', '', 0 ],
        [ 'UserEmail'       ,  'Email'       ,  'mail'                , 0, 1, 'var', '', 0 ],
        [ 'UserCustomerID'  ,  'CustomerID'  ,  'objectCategory'      , 0, 1, 'var', '', 0 ],
#       [ 'UserCustomerIDs' ,  'CustomerIDs' ,  'postOfficeBox'       , 0, 0, 'var', '', 0 ],
        [ 'UserPhone'       ,  'Phone'       ,  'telephonenumber'     , 1, 0, 'var', '', 0 ],
        [ 'UserRoom'        ,  'Office'      ,  'extensionAttribute6' , 1, 0, 'var', '', 0 ],
        [ 'UserAddress'     ,  'Address'     ,  'postaladdress'       , 1, 0, 'var', '', 0 ],

    ],
};
...
Dabei wird jedem Customer die gleiche CustomerID gegeben [objectCategory ist bei jedem Account innerhalb unserer AD gleich] . Somit sehen nun alle Customer alle Tickets unter CompanyTicket und können dort auch kommentieren.
Ebenso werden ihre eigenen dort angezeigt.

VG Kristian
openSUSE 11.4 / OTRS 3.1.13 / MySQL 5.1.63
Post Reply