Home       Servicebereich  Projekte  Kontakt  

Beispiele


Beispiele für zur Nutzung von XMLRPC in OGo

Suche nach Emailadressen aus mutt

Der Emailclient mutt bietet ein einfaches und universelles Interface um Adressen in beliebigen Adressbüchern zu suchen. Eine Abfrage wird mit der Taste Q in der Mailboxübersicht oder mit CTRL-t wärend der Frage nach einer Emailadresse gestartet.

Die eigentliche Suche wird von dem Programm, das in der Konfiguration mit

set query_command="<command> %s"
festgelegt ist, durchgeführt. Dieses schreibt als Ergebnis der Suche eine dreispaltige Tabelle mit den Feldern Emailadresse, Name und Identifier auf STDOUT. Die Spalten sind per Tabulator getrennt.

Abfrage der OpenGroupware.org Datenbank

Für die Abfrage der Datenbank reicht ein kleines Perl-Script, das das RPC::OGo Modul nutzt um die XMLRPC Schnittstelle zu abstrahieren.

  #!/usr/bin/perl
  #
  # Usage: mutt_ogo_query <username> <password> <name>
  #
  use RPC::OGo;
  use Text::Iconv;

  my %config;
  $config{'username'} = $ARGV[0]
  $config{'password'} = $ARGV[1]
  $config{'host'}     = 'opengroupware.domain.de';
  $config{'port'}     = '20001';

  my $name            = $ARGV[2];

  my $ogo =  new RPC::OGo(%config);

  $Ps = $ogo->person();

  my @ids = $Ps->fetchIds("*$name*",1);
  $converter = Text::Iconv->new("utf-8", "iso-8859-1");

  foreach (@ids) {
      my $pd = $Ps->getById($_);
      next unless $pd->email;

      print $pd->email  , ,"\t";
      print $converter->convert($pd->firstname), " ";
      print $converter->convert($pd->name),"\t";
      print "OGo Suche";
      print "\n";
  }

Das Script wird in Mutt mit der Zeile

set query_command="mutt_ogo_query <martin> <secret> <%s>"
eingebunden.


< zurück