Re: [rt-users] importing users question...

2006-11-15 Thread Roy El-Hames

Matt;

If you have your users and group already created , you can use the below 
scripts to add group membership ..
I have a separate script that create users,and another to create groups 
if you wish, something to bare in mind when creating users is most of 
the time the users exist in the system because the 've emailed the 
system and RT auto created them

Roy

#!/usr/bin/perl
use lib /opt/rt3/lib;
use strict;
use RT;
use RT::Interface::CLI qw(CleanEnv);
CleanEnv();
RT::LoadConfig();
RT::Init();
my $group = Your group;
my @users =('user 1','user 2','user 3') ;

##load Group object
my $gobject = new RT::Group (RT::SystemUser);
$gobject-LoadUserDefinedGroup($group);

foreach my $u (@users) {
##load user object
my $user=RT::User-new(RT::SystemUser);
my ($s, $msg) = $user-Load($u);
print we loaded user $u his id is $user-Id \n;
if ($s) {
my ($gmd, $msg) = $gobject-AddMember($user-PrincipalId);
if ($gmd == 0 ) {
print Could not add $u to this group error is $msg \n;
}
}
}
exit;


Mat W wrote:

I'm using RT3.4.0

I've read through some of the posts and the wiki. Everyone seems to 
think it's possible including myself and honestly, doesn't seem that 
hard to do... however I've yet to see someone say, yes, i imported 
100 users with blah technique/script, etc. The script on the wiki 
shows how to create a user, but i don't see how it updates the Group 
tables.


I was looking around in the DB. I see it creates the entries in the 
Users, Groups, and GroupMembers. I believe I could create one 
example user and see what changes in the DB and script it myself to 
essentially clone the user 100 more times. I'm just hoping someone 
may have already created a clone script or can point out things like 
don't forget about updating blah.


I'm no super-DBA or programmer, but i can muddle my way through it. 
Just need a shove in the right direction. Perhaps what function is 
called when RT auto-creates the users who emailed tickets in?


thanks in advance.

-MatW

_
Find a local pizza place, music store, museum and more…then map the 
best route! http://local.live.com?FORM=MGA001


___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com




___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


RE: [rt-users] importing users question...

2006-11-15 Thread Stephen Turner

 -Original Message-
 From: [EMAIL PROTECTED] On Behalf Of Mat W
 Sent: Wednesday, November 15, 2006 10:06 AM
 To: rt-users@lists.bestpractical.com
 Subject: [rt-users] importing users question... 
 
 I'm using RT3.4.0
 
 I've read through some of the posts and the wiki.  Everyone 
 seems to think 
 it's possible including myself and honestly, doesn't seem 
 that hard to do... 
 however I've yet to see someone say, yes, i imported 100 
 users with blah 
 technique/script, etc.  The script on the wiki shows how to 
 create a user, 
 but i don't see how it updates the Group tables.
 
 I was looking around in the DB.  I see it creates the entries 
 in the Users, 
 Groups, and GroupMembers.  I believe I could create one 
 example user and 
 see what changes in the DB and script it myself to 
 essentially clone the 
 user 100 more times.  I'm just hoping someone may have 
 already created a 
 clone script or can point out things like don't forget 
 about updating 
 blah.
 
 I'm no super-DBA or programmer, but i can muddle my way 
 through it.  Just 
 need a shove in the right direction.  Perhaps what function 
 is called when 
 RT auto-creates the users who emailed tickets in?
 
 thanks in advance.
 
 -MatW
 

Hello Mat,

Could you explain a bit more about what you actually want to do? It sounds
like you just want a script that will create users based on some external
information, but I'm not sure why you are wondering about updating the
Groups table. What code from the wiki are you referring to?

One piece of advice - don't try to figure out what database tables RT
updates and reverse-engineer that. The API exists so that you don't need to
do that and so that you can create all the right records without hosing your
database. 

We have a script that loads and updates user info every night from an
external source, so if that's what you are after, it's definitely doable.

Good luck,
Steve


Stephen Turner
Senior Programmer/Analyst - Client Support Services
MIT Information Services and Technology (IST)
  

___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


RE: [rt-users] importing users question...

2006-11-15 Thread Mat W
essentially, just want to pre-load user's name, email, office, and phone# 
from a basic CSV.  part2 would be to populate a few custom fields for the 
users.


i see the method in the User.pm to create a new user and this was the info 
on the 
wiki:(http://download.bestpractical.com/pub//rt/contrib/3.0/Other/rtadduser) 
...


did a login and let RT create an account for the requestor, I see it added 
info to the Group and GroupMember table.  and i see entries for each user i 
created for the IT staff...


| 106 | User 105 | ACL equiv. for user 105  | ACLEquivalence  | 
UserEquiv|  105 |
| 107 | NULL | NULL | RT::Ticket-Role | 
Requestor|   15 |
| 108 | NULL | NULL | RT::Ticket-Role | 
Owner|   15 |
| 109 | NULL | NULL | RT::Ticket-Role | Cc   
|   15 |
| 110 | NULL | NULL | RT::Ticket-Role | 
AdminCc  |   15 |





 -Original Message-
 From: [EMAIL PROTECTED] On Behalf Of Mat W
 Sent: Wednesday, November 15, 2006 10:06 AM
 To: rt-users@lists.bestpractical.com
 Subject: [rt-users] importing users question...

 I'm using RT3.4.0

 I've read through some of the posts and the wiki.  Everyone
 seems to think
 it's possible including myself and honestly, doesn't seem
 that hard to do...
 however I've yet to see someone say, yes, i imported 100
 users with blah
 technique/script, etc.  The script on the wiki shows how to
 create a user,
 but i don't see how it updates the Group tables.

 I was looking around in the DB.  I see it creates the entries
 in the Users,
 Groups, and GroupMembers.  I believe I could create one
 example user and
 see what changes in the DB and script it myself to
 essentially clone the
 user 100 more times.  I'm just hoping someone may have
 already created a
 clone script or can point out things like don't forget
 about updating
 blah.

 I'm no super-DBA or programmer, but i can muddle my way
 through it.  Just
 need a shove in the right direction.  Perhaps what function
 is called when
 RT auto-creates the users who emailed tickets in?

 thanks in advance.

 -MatW


Hello Mat,

Could you explain a bit more about what you actually want to do? It sounds
like you just want a script that will create users based on some external
information, but I'm not sure why you are wondering about updating the
Groups table. What code from the wiki are you referring to?

One piece of advice - don't try to figure out what database tables RT
updates and reverse-engineer that. The API exists so that you don't need to
do that and so that you can create all the right records without hosing 
your

database.

We have a script that loads and updates user info every night from an
external source, so if that's what you are after, it's definitely doable.

Good luck,
Steve


Stephen Turner
Senior Programmer/Analyst - Client Support Services
MIT Information Services and Technology (IST)




_
Stay in touch with old friends and meet new ones with Windows Live Spaces 
http://clk.atdmt.com/MSN/go/msnnkwsp007001msn/direct/01/?href=http://spaces.live.com/spacesapi.aspx?wx_action=createwx_url=/friends.aspxmkt=en-us


___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


Re: [rt-users] importing users question...

2006-11-15 Thread Mat W
We're looking to roll-out a new RT install globally (I use it locally w/ my 
Jr. Admin).  So the only users are the IT Staff Logins currently on the new 
system.  Originally, I created a shared username people log in with, then 
fill-in a submission form.  When the requestor doesn't exist RT creates an 
unprivliged account it appears.  I essentially want to just preload those 
accounts for each user with the contact info and such which wouldn't be 
populated in the RT autocreation.  Once those are in, I have some Custom 
Fields I'm going to load in for users.



Matt;

If you have your users and group already created , you can use the below 
scripts to add group membership ..
I have a separate script that create users,and another to create groups if 
you wish, something to bare in mind when creating users is most of the time 
the users exist in the system because the 've emailed the system and RT 
auto created them

Roy

#!/usr/bin/perl
use lib /opt/rt3/lib;
use strict;
use RT;
use RT::Interface::CLI qw(CleanEnv);
CleanEnv();
RT::LoadConfig();
RT::Init();
my $group = Your group;
my @users =('user 1','user 2','user 3') ;

##load Group object
my $gobject = new RT::Group (RT::SystemUser);
$gobject-LoadUserDefinedGroup($group);

foreach my $u (@users) {
##load user object
my $user=RT::User-new(RT::SystemUser);
my ($s, $msg) = $user-Load($u);
print we loaded user $u his id is $user-Id \n;
if ($s) {
my ($gmd, $msg) = $gobject-AddMember($user-PrincipalId);
if ($gmd == 0 ) {
print Could not add $u to this group error is $msg \n;
}
}
}
exit;


Mat W wrote:

I'm using RT3.4.0

I've read through some of the posts and the wiki. Everyone seems to think 
it's possible including myself and honestly, doesn't seem that hard to 
do... however I've yet to see someone say, yes, i imported 100 users with 
blah technique/script, etc. The script on the wiki shows how to create 
a user, but i don't see how it updates the Group tables.


I was looking around in the DB. I see it creates the entries in the Users, 
Groups, and GroupMembers. I believe I could create one example user and 
see what changes in the DB and script it myself to essentially clone the 
user 100 more times. I'm just hoping someone may have already created a 
clone script or can point out things like don't forget about updating 
blah.


I'm no super-DBA or programmer, but i can muddle my way through it. Just 
need a shove in the right direction. Perhaps what function is called when 
RT auto-creates the users who emailed tickets in?


thanks in advance.

-MatW

_
Find a local pizza place, music store, museum and more…then map the best 
route! http://local.live.com?FORM=MGA001


___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a 
copy at http://rtbook.bestpractical.com






_
Find a local pizza place, music store, museum and more…then map the best 
route!  http://local.live.com?FORM=MGA001


___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


RE: [rt-users] importing users question...

2006-11-15 Thread Stephen Turner

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Mat W
 Sent: Wednesday, November 15, 2006 11:19 AM
 To: [EMAIL PROTECTED]
 Cc: rt-users@lists.bestpractical.com
 Subject: RE: [rt-users] importing users question...
 
 essentially, just want to pre-load user's name, email, 
 office, and phone# 
 from a basic CSV.  part2 would be to populate a few custom 
 fields for the 
 users.
 
 i see the method in the User.pm to create a new user and this 
 was the info 
 on the 
 wiki:(http://download.bestpractical.com/pub//rt/contrib/3.0/Ot
 her/rtadduser) 
 ...
 
 did a login and let RT create an account for the requestor, I 
 see it added 
 info to the Group and GroupMember table.  and i see entries 
 for each user i 
 created for the IT staff...
 

Mat,

If you use the code from the wiki, the User-Create method will do all the
necessary group table updates/inserts for you - no need to worry about
updating database tables yourself.

Steve


Stephen Turner
Senior Programmer/Analyst - Client Support Services
MIT Information Services and Technology (IST)
  

___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com