Skip to Content.
Sympa Menu

devel - Re: [sympa-dev] saving list config was: extending soap..

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Joe Vieira <address@concealed>
  • To: "address@concealed" <address@concealed>
  • Cc: "address@concealed" <address@concealed>
  • Subject: Re: [sympa-dev] saving list config was: extending soap..
  • Date: Tue, 8 Apr 2008 17:46:30 -0400

Thanks!

I am also making a few changes to support administrative functions, for import from our old list server, and for automation from our automated systems.
Yes, i am modifying sympasoap.pm, i've already modified the WSDL and created a few of the other functions i need, everything else is working fine just getting the actual list to save the changes has been annoying.
&admin::update_list okay, i'll give that function a shot! thanks a ton for your help!

do you know if &admin::update_list can modify any of the LDAP include stuff? i am assuming it can't because it's in the admin module...so a point in the right direction there would be helpful also =).

Joe


address@concealed wrote:
On-Hand, I do not have the code. I made a bunch of hacks to sympasoap to support
administrative functions -- this was done so that Sympa could be integrated into
a social-networking application for election activists in 2004. Very quick &
dirty work that I decided not to fold back into the Sympa tree because I thought
it was a bit shabby (much regret about that now). If you really want it, I will
ask the other developers to see if they have a copy of the code laying around in
their repositories.

For the meantime -- What code are you changing? sympasoap.pm?

Adding new functions to sympasoap.pm was pretty simple- I started by
refactoring the equivalent code inside of wwsympa.fcgi or sympa.pl. --

In this case however, I would use &admin::update_list and try something like
this:

## open the list
my $list = new List($list_name,$robot_name);

## Setup the parameters for the list (see List.pm)
my $parameters;
$parameters{'subject'} = "New subject for this list";
... ## etc.. etc..

## Specify the list owner
my %owner;
$owner{'email'} = "address@concealed";
$owner{'gecos'} = "epsas nova";

push @{$parameters->{'owner'}}, \%owner;

my $result = &admin::update_list($list, $parameters);




On Tue, Apr 08, 2008 at 04:18:33PM -0400, Joe Vieira wrote:
Thanks,

Do you have your code still? because it clearly wasn't included in the
program. if you still have it i would be more than happy to look at it
and try to get it working in the current version of sympa. even if i can
just use it as a guide to show me how to save the damn list config (all
my other code works fine, i just can't SAVE it.. lol )

Joe



address@concealed wrote:
Hi Joe,

I will try and take a look at this. I remember extending sympasoap to
support this... 4 years ago.


On Tue, Apr 08, 2008 at 01:24:59PM -0400, Joe Vieira wrote:

Still no responses on this does anybody have ANY ideas at all? is there
a better way to contact people who do devel work on sympa?

stepping thru almost everything in the perl debugger it looks like the
problem (maybe) is that i am getting to this line in List.pm

line9835 $fd->print(sprintf "%s %s\n\n", $key, $p)

$key = 'owner'
$p = my hash
DB<23> x $p
0 HASH(0x9fcf0e4)
'date' => 1207673686
'dom' => 'ude.ukralc@'
'email' => 'address@concealed'
'gecos' => 'joe vieira'
'id' => undef
'included' => 0
'info' => undef
'profile' => 'normal'
'reception' => 'mail'
'subscribed' => 1
'update_date' => 1207673686
'visibility' => 'conceal'

DB<24> x sprintf "%s %s\n\n", $key, $p
0 'owner HASH(0x9fcf0e4)' so this is obviously where i am messed up.

My only thinking at this point is that i should be getting into the on
line 9797 elsif (ref($::pinfo{$key}{'file_format'}))

but i'm not because owner doesn't have file_format set in it's pinfo.
so i'm at a loss... any help would be awesome.

Thanks,

Joe


Joe Vieira wrote:

Hi everyone,

So I am looking at extending the SOAP interface to allow edits of
owners / and editors.
let me know if i am doing this correctly, or if i am doing something
totally stupid please..

basically..

my $list = new List('$ListQuery',"$robot");
$newOwner = "address@concealed";
my @owner = $list->get_owners();
$owner[0]->[0]->{'email'} = $newOwner;
$list->{'admin'}->{'owner'}[0] = $owner[0][0];
$list->save_config($sender);

now, the result of that code is

owner HASH(memorylocation) in the config file

the same thing occurs if i do:

my $list = new List('$ListQuery',"$robot");
$list->save_config($sender);

So, my question: Is am I doing this wrong, what am i doing stupidly, AND
how would you recommend for me to save the new owner?

Joe Vieira
UNIX Systems Administrator
Clark University - ITS







Archive powered by MHonArc 2.6.19+.

Top of Page