Calendar error

Discuss the Scalix Outlook MAPI Interface

Moderators: ScalixSupport, admin

tenchi96
Posts: 15
Joined: Fri Dec 08, 2006 4:38 pm

Postby tenchi96 » Tue Dec 18, 2007 10:51 pm

Does anyone have directions on how to locate and delete a corrupt calendar event in a users mailbox on Version 11.1 usig omcontain (The password would be nice as well)

dwerthmu
Posts: 84
Joined: Wed Apr 04, 2007 11:19 am

Postby dwerthmu » Wed Jan 02, 2008 6:25 pm

We just started getting this on a 11.2 box, never saw it on any previous test systems.

We deleted the event causing it from the outlook client notification of up comming meetings dialog. There was a meeting 330 weeks over due. It was a recurring meeting that has been on the calendar for 10 years. Deleted it and recreated it an one of these messages stopped popping up.

charon
Posts: 128
Joined: Sun Jul 01, 2007 5:38 am
Location: Germany
Contact:

Postby charon » Fri Jan 04, 2008 6:52 am

is it definetely fixed in 11.3 ?

kjakkanen
Posts: 125
Joined: Thu Dec 21, 2006 10:09 am
Location: Espoo - Finland

Postby kjakkanen » Fri Jan 04, 2008 7:28 am

We're also experiencing this with Scalix 11.2, just one user but of course the one who uses calendar very heavily and depends on it. Sometimes we get several of these errors opening Outlook, sometimes just one.

Re-creating the user profile is not an option (in a different country via a home DSL!) so I'm looking for a way to identify the problematic calendar entry for easy removal? I welcome all ideas!

KR;
Kimmo

kluss0
Posts: 118
Joined: Sat Jan 07, 2006 1:40 pm

Postby kluss0 » Wed Jan 09, 2008 11:29 am

I had this problem a while back with a single user. I am now seeing it again with a few more users. Does anyone know if this is fixed in 11.3? Will the problem simply go away after the upgrade, or will I have to remove and re-import the accounts?

Thanks,
Kenny

charon
Posts: 128
Joined: Sun Jul 01, 2007 5:38 am
Location: Germany
Contact:

Postby charon » Wed Jan 09, 2008 11:40 am

Problem did not go away after upgrading

kluss0
Posts: 118
Joined: Sat Jan 07, 2006 1:40 pm

Postby kluss0 » Wed Jan 09, 2008 12:01 pm

That was, unfortunately the answer that I was expecting. In my latest instance,
omscan -Avxfb -U is not showing any errors, which makes it extremely difficult to identify the corrupt calendar item. omcontain also lists all of the items correctly, and nothing is showing up in the logs.... Deleting user accounts and re-creating them really isn't an option moving forward, either.

dwerthmu
Posts: 84
Joined: Wed Apr 04, 2007 11:19 am

Postby dwerthmu » Tue Jan 15, 2008 4:12 pm

Upgrading to 11.3 doesn't fix the issue with existing calendar data with this error.

Trolling a few threads it seems that the error is due to a recurring appointment that has has "this ocurance" edited. (Edit one or more appointments in the recurring appointment item)

It seems that if you delete the appointment that has been edited in the recurring appointment list then the error goes away.

The error seems to stem from the outlook appointment properties CreationTime, appointment start and end time.

I've found if you delete the appointments where the creationtime is after the appointment start and end time the error will go away.

Here is some windows perl code that will help find the appointments that are recurring and displays the creationtime and start, end times so you can ID the appointments that may be suspect.
<code>
#!/bin/perl
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Outlook';

my $outlook = Win32::OLE->new('Outlook.Application') or die
"Error!\n";
my $counter;
my $namespace = $outlook->GetNamespace("MAPI");
my $cal = $namespace->GetDefaultFolder(olFolderCalendar);
my $items = $cal->Items;
#$appts->{IncludeRecurrences} = 'True';
#$items->Filter{IsRecurring} = 'True';

for my $itemIndex (1..$items->Count)
{

my $appts = $items->item($itemIndex);# or die("error getting cal appts: " . Win32::OLE->LastError());
#print Win32::OLE->LastError();
#next if not defined $appts;

if ($appts->{IsRecurring} >= 1) {
$counter++;
print "\n\n";
print "subject = " . $appts->{Subject}."\n";
print "Start = " . $appts->{Start}->Date."\n";
print "Organizer = " . $appts->{Organizer}."\n";
print "Start Time = " . $appts->{Start}->Time."\n";
print "End = " . $appts->{End}->Date."\n";
print "End time = " . $appts->{End}->Date."\n";
print "CreationTime = " . $appts->{CreationTime}->Date, " ",$appts->{CreationTime}->Time."\n";
print "Duration = " . $appts->{Duration}."\n" ; #1 minute
print "Location = " . $appts->{Location} ."\n";
print "body = " . $appts->{Body} ."\n";
print "ReminderMinutesBeforeStart = " . $appts->{ReminderMinutesBeforeStart} ."\n";
print "BusyStatus = " . $appts->{BusyStatus} ."\n";
print "AllDaEvent = " . $appts->{AllDayEvent} ."\n";
#print "EntryID = " . $appts->{EntryID} ."\n";

print "IsRecurring = " . $appts->{IsRecurring} ."\n";
print "Pattern Start = " . $pattern->{StartDate}."\n";
print "Pattern End = " . $appts->{RecurrencePattern}->{EndDate}."\n";
}
}

print $counter . "Total Recurring items\n";
</code>

Use:
On Windows you'll need to have scalix plugin installed, and activestate's perl, and a scalix profile created for the user in question. Run from the dos box/ command box so you can see the output. When it starts and connects to the scalix server Outlook security notice will/should pop up indicating a program is trying to access the address book ( its not but..) you have to answer yes to get it to process the appointments.

Note:
Someone with more time could set it up to do date comparisons so it only shows the entry when Creationime-Date is > End->date

Hope this can help others with this issue,

Cheers

techsharp
Posts: 436
Joined: Tue Jan 16, 2007 9:01 pm

Postby techsharp » Tue Jan 15, 2008 4:18 pm

Interesting - I will give this a shot on my test box- thank you.

experien
Posts: 12
Joined: Sat Oct 06, 2007 6:51 am
Location: North Sydney
Contact:

Error reading data for recurring Calendar item: [][][]

Postby experien » Tue Jan 15, 2008 9:29 pm

Dear Florian / All,

It's been a while since anyone has posted / updated this thread.

I am sure this is still an issue for many.

I am running Scalix Enterprise 11.1 on Red Hat Enterprise Linux 5 with 110 users.

Regards,
Trent Renshaw
IT Manager
Experien Finance Pty Ltd

techsharp
Posts: 436
Joined: Tue Jan 16, 2007 9:01 pm

Postby techsharp » Mon Feb 04, 2008 4:14 pm

Edit: Had a problem w/ the script, but was just missing the top line in my copy- so resolved- will report back w/ results.

Script worked as described- nice job - this is very helpful. I ran it against a user who was having a the problem and it found 3 corrupt meetings- I deleted them and now no more error-

Again very helpful and saves me a LOT of time.

dwerthmu
Posts: 84
Joined: Wed Apr 04, 2007 11:19 am

Postby dwerthmu » Wed Feb 06, 2008 10:49 am

sweet :D Glad it worked for you.

Since this statement seems to be true:
"
The error seems to stem from the outlook appointment properties CreationTime, appointment start and end time.

I've found if you delete the appointments where the creationtime is after the appointment start and end time the error will go away.
"

When will we see a patch?

lmacdonald

Same Problem

Postby lmacdonald » Wed Feb 06, 2008 11:54 am

we are also getting the error about reoccurring appointments with weird symobls. It happens when people open outlook, they don't have to go to group schedules. The only thing I read to solve the problem was to wipe out calendars. There is absolutely no way we are deleting everyones calendar. Are there any other ways to narrow down what appointment.

techsharp
Posts: 436
Joined: Tue Jan 16, 2007 9:01 pm

Re: Same Problem

Postby techsharp » Wed Feb 06, 2008 12:08 pm

lmacdonald wrote:we are also getting the error about reoccurring appointments with weird symobls. It happens when people open outlook, they don't have to go to group schedules. The only thing I read to solve the problem was to wipe out calendars. There is absolutely no way we are deleting everyones calendar. Are there any other ways to narrow down what appointment.


Yes, you can run the script posted by dwerthmu - it will let you know the corrupt meetings on the calendar and then you can either delete them on the calendar or using omcontain.

Be careful with omcontain as it can destroy a users mailbox fairly easy.

I use a test box and do an rsync to it every night and troubleshoot issues with it. That way you can narrow down the problem and then do the fix on the production box with no problems.

If you do not have a test box make sure to backup the users mailbox before making any changes.

Try out the script- run it against the box that is having this error and it should show some meetings and then delete those and then open up the users mailbox and see if it is gone.

perlish

Reply on Reading outlook Calendar Code

Postby perlish » Sat Mar 01, 2008 2:38 pm

It's rather late to reply but to anyone who still cares :

Here is how to compare 2 dates using the Data::Manip module. As you see you can use the time outlook is returning. :)
Date::Manip can be downloaded with Activestate ppm manager. no dependencies


$ENV{'TZ'} = "GB"; # See the man page

use Date::Manip;
$string1= "3/1/2008 1:48:41 PM" ;
$string2= "4/1/2008 1:48:41 PM" ;

$date1 = ParseDate($string1);
print " >> $date\n";
if ( $date1 eq undef) {
print " Error in the date\n";
exit;

}
$date2 = ParseDate($string2);
if ( $date2 eq undef ) {
print " Error in the date\n";
exit;
}
$flag = Date_Cmp($date1,$date2);
if ($flag<0) {
print "date1 is earlier : date1 = $string1 , date2 = $string2\n";
} elsif ($flag==0) {
print "the two dates are identical : date1 = $string1 , date2 = $string2\n";
} else {
print " date2 is earlier : : date1 = $string1 , date2 = $string2\n" ;
}

Please read the man-page carfully : the module is rather unnix based.

Greetings


Return to “Scalix Connect for MS Outlook”



Who is online

Users browsing this forum: No registered users and 5 guests