GroupWise - Общая адресная книга

Обсуждение технических вопросов по продуктам Novell

GroupWise - Общая адресная книга

Сообщение Clericos » 24 мар 2010, 12:16

В Адресной книге GroupWise 8 есть Общая адресная книга.

Никак не соображу как её отредактировать. Хотел добавить в неё дни рождения сотрудников. Через ConsoleOne такого поля не нашел. А в адресной книге редактировать не дает. Все поля затемнены.

Работаю под администратором. Где назначить себе права не соображу. В C1 объекта Адресная Книга нигде не нашел.

Заранее спасибо.
Аватара пользователя
Clericos
 
Сообщения: 382
Зарегистрирован: 15 май 2007, 22:40
Откуда: *.spb.ru.

Re: GroupWise - Общая адресная книга

Сообщение Ковалев Артем » 24 мар 2010, 13:35

Clericos писал(а):В Адресной книге GroupWise 8 есть Общая адресная книга.

Никак не соображу как её отредактировать. Хотел добавить в неё дни рождения сотрудников. Через ConsoleOne такого поля не нашел. А в адресной книге редактировать не дает. Все поля затемнены.

Работаю под администратором. Где назначить себе права не соображу. В C1 объекта Адресная Книга нигде не нашел.

Заранее спасибо.

Отредактировать её никак. Она целиком берётся из eDir.
Но. В eDir есть поля (или их можно добавить), в которые можно вбить дни рождения. Я использую для этого поле generationQualifier. А дальше надо просто настроить, чтобы она его показывала (не все поля можно так настроить ;)).
берем картину мироздания и тупо смотрим - что к чему...
Аватара пользователя
Ковалев Артем
 
Сообщения: 924
Зарегистрирован: 29 мар 2004, 11:44
Откуда: Москва

Сообщение skoltogyan » 24 мар 2010, 13:39

Добавлять Выше описаное так:
C1 | Tools | GroupWise System Operations | Admin-Defined Fields
и в нем добавить
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Clericos » 24 мар 2010, 14:13

итак создал связь
Admin Defined 1 - Generational Qualifier

Как теперь это привязать к соответствующему полю "День Рождения" Адресной книги?

C1 - Свойства домена - Address Book ?

не понимаю что делать. Поясните пожалуйста
Аватара пользователя
Clericos
 
Сообщения: 382
Зарегистрирован: 15 май 2007, 22:40
Откуда: *.spb.ru.

Сообщение skoltogyan » 25 мар 2010, 15:34

буржуи-производители сказали так:
в персональных адресных книгах есть много полей, которые можете вести сами (в том числе и birthday).
в системной адресной книге те-же поля видны так-же, но не все доступны (например birthday) для заполнения.

источник:
http://forums.novell.com/novell-product ... -book.html
Цитата:
"
I don't think you can do that successfully - it is just that the same
address books details screen is used for both personal and system address
books.

As Edward mentioned, there are a lot more fields available for personal
address books than the system book, and these fields show in the display
for the system book, but are all disabled.

Cheers Dave
"
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Re: GroupWise - Общая адресная книга

Сообщение Clericos » 12 апр 2010, 10:29

Ну так в итоге:
1. GroupWise умеет напоминать о днях рождения.
2. У пользователей есть персональные календари, в котором можно красиво, автоматически разместить дни рождения коллег.

Но это все никак нельзя сделать. Т.к. в общей адресной книге никак не заполнить "то самое" поле "День рождения"... (?). Пользователи тоже никак вручную это поле не могут заполнить (только если в книге частые контакты, но это уже персональная адресная книга).
Аватара пользователя
Clericos
 
Сообщения: 382
Зарегистрирован: 15 май 2007, 22:40
Откуда: *.spb.ru.

Re: GroupWise - Общая адресная книга

Сообщение Ковалев Артем » 12 апр 2010, 10:39

Clericos писал(а):Т.к. в общей адресной книге никак не заполнить "то самое" поле "День рождения"... (?).

Мдя.
Ловите:
Код: Выделить всё
#!/usr/local/bin/perl

use Net::LDAP;
use IO::Socket;

my $ldap_server ='ldaps://[b]10.11.0.81[/b]';
my $dn;
my $birthday="33.33.33";
my $passwd;
my %blist;
my %excess;

loadbirthdays("birthdays.lst");

$ldap = Net::LDAP->new( $ldap_server ) or die "$@";

print "Enter password for [b]admin[/b]: ";
$passwd = <STDIN>;
chomp($passwd);

$mesg = $ldap->bind("[b]cn=admin,ou=Adm,l=MSK,c=RU[/b]", password => "$passwd");    # authorized bind
# $mesg = $ldap->bind;    # anonimous bind
$mesg->code && die $mesg->error;

$mesg = $ldap->search( # perform a search
                        base   => "l=MSK,c=RU",
                        filter => "(&(objectclass=user)(cn=*))"
                      );

$mesg->code && die $mesg->error;


foreach $entry ($mesg->entries) {

    $dn = $entry->dn;
    if ($entry->get_value("loginDisabled") eq "TRUE") { next; }


    $name = iso2win($entry->get_value(fullName));
    if (length($name) < 2) { next; }
   
    $birthday = getbirthday($name);
    if ($birthday eq "0") {
      $excess{$name} = $dn;
      next;
    };
   
    print "$name \t\t $birthday\n";
    $mesg = $ldap->modify($dn, replace => { "generationQualifier" => "$birthday" } );
    $mesg->code && die $mesg->error;
}
print "----------------------------------------------------------------\n";


$mesg = $ldap->unbind;   # take down session

open (F, ">excess.log");
foreach $m (sort keys (%excess)) {
    print F "$m [$excess{$m}]\n";
};
close F;

open (F, ">spare.log");
foreach $m (sort keys (%blist)) {
    if (!($blist{$m} eq "X")) {
        print F "$m [$blist{$m}]\n";
    }   
};
close F;

exit;


sub getbirthday {
    my $nm = shift; # имя сотрудника
    my $b;

    $nm =~ tr/[а-я]ё/[А-Я]Ё/;
    $nm =~ tr/Ё/Е/;
    $nm =~ s/\s//g;
    if (defined($blist{$nm})) {
      $b = $blist{$nm};
      $blist{$nm} = 'X';
      $b =~ /(\d\d)\.(\d\d)\.(\d\d)(\d\d)/;
      $b = "$1.$2.$4";
      return $b;
    }
    return "0";
};

sub loadbirthdays {
  my $fname = shift; # имя файла
  my $a;
   
    open(F,$fname);
    while (defined($a=<F> )) {
   chomp($a);
   if ($a =~ /(.+)\s+(\d\d\.\d\d\.\d\d\d\d)/) {
       my $n = $1;
       my $b = $2;
       $n =~ tr/[а-я]/[А-Я]/;
       $n =~ tr/Ё/Е/;
       $n =~ s/\s//g;
       $blist{$n} = $b;
   }
    }
   
    close F;
};

sub bin2str {
    my $bin = shift;
    my $res = "";
   
    my ($a0,$a1,$a,$b,$c,$d) = unpack("C6", $bin);
    $res="$a\.$b\.$c\.$d";
   
    return $res;
};

sub iso2win {
$_[0]=~tr/\xD0\xD1//d; $_[0]=~tr/\x90-\xBF\x80-\x8f/\xC0-\xEF\xF0-\xFF/;
return $_[0]; }

Может быть кое-что лишнее, писалось давненько, но идею поймёте.
Выделенное жирным замените на ваши реалии.

Опс. Жирный с теге коде не кажет, ну значит то, что в [b ] [/b ].
берем картину мироздания и тупо смотрим - что к чему...
Аватара пользователя
Ковалев Артем
 
Сообщения: 924
Зарегистрирован: 29 мар 2004, 11:44
Откуда: Москва

Re: GroupWise - Общая адресная книга

Сообщение Clericos » 12 апр 2010, 11:22

Спасибо большое! Буду разбираться.
Аватара пользователя
Clericos
 
Сообщения: 382
Зарегистрирован: 15 май 2007, 22:40
Откуда: *.spb.ru.


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12