Nethserver-sogo, needs test

Hi hucky

well I wonder if one possible way could be to reinstall sogo.

  • Before, export your ldif (contact) file and ics(calendar)
  • verify also that you have a valid content inside.
  • Backup your mysql sogo DB

speaking about the mysql db, do you have some backup like with automysqlbackup (one of my module), we could try to inject a backup made before the upgrade ?

the atomic way I could imagine is

  • backup your data (sogo mysqldb,ldif and ics files)
  • yum remove netserver-sogo
  • remove the mysql sogo database (with phpmyadmin)
  • install nethserver-sogo
  • restore your ics and ldif file by the sogo webUI
  • reinstall your mobile clients
2 Likes

yes, but it comes because the ‘UIDFieldName’ field is wrong, I suspect that sogo writes a lot of things in mysql, relative to this field, then if you change it you cannot retrieve the information like contacts and calendars.

Following your preferred expression I’m Fu… :slight_smile:

Tomorrow it is a free work day, and the week-end will be snowy, I will have time to look.

3 Likes

Is this a sogo issue or an implementation one?
Let me know what to test when needed.

Also, is this just an issue for existing users? As it stands, it might be worth running a correction script over the database after applying the patch, if it solves shared mailboxes and doesn’t impact anything else.

yes I need to check but the issue is for the previous installation newer are not impacted (I guess), and yes I suppose that a mysql script must be run if we want to modify some fields

all of this is a supposition because when I modify

 CNFieldName we lost the sieve script
 UIDFieldName we lost calendars and contacts

I would like to implement the sogo backups by a cron each night.

what is saved:

  • user configuration
  • calendar events
  • contacts

where: /var/lib/sogo/backups

I want to backup this folder by nethserver-backup-data

cons, pro, I’m listening you

3 Likes

4 messages ont été déplacés vers un nouveau sujet : Sogo doesn’t start after the reinstallation

Sounds good. Would the end result be human readable? That would be even better :slight_smile:

you need to talk sogo a bit

1 Like

That’s perfect. This can be parsed, compared, and edited. <3

confirmed, all is logged in mysql DB and it uses the UIDFieldName we give. Either stephane or stephane@domain.com

of course if we change it, sogo is lost.

@mrmarkuz @planet_jeroen @Jclendineng
could you please test the version 1.6.17-1

- Enable the sogo backup
- Save the folder /var/lib/sogo/backups if nethserver-backup-data is installed
- the backup time can be adjusted by BackupTime '* *', two arguments
- '# * *' to disable

by default the backup starts 0h30

to change it for a matter of test

config setprop sogod BackupTime '* *'
signal-event nethserver-sogo-update

to disable it

config setprop sogod BackupTime '#* *'
signal-event nethserver-sogo-update

all go to /var/lib/sogo/backups

I tested to remove in mysql the relative fields to my user then I restored it with this page http://wiki.sogo.nu/backupRestore

to install this version

yum update --enablerepo=nethforge-testing nethserver-sogo

1 Like

Tested now on 7.4 with LDAP and backup function seems to work:

[root@testserver ~]# ls /var/lib/sogo/backups
sogo-2017-12-08_1341  sogo-2017-12-08_1354

Don’t know if @domain would be better for filename if one uses multidomain?

[root@testserver sogo-2017-12-08_1354]# ls /var/lib/sogo/backups/sogo-2017-12-08_1354/
admin  markus

Saved data seems to be ok, funny chars like umlauts look well encoded:

testuser admin
[root@testserver sogo-2017-12-08_1354]# cat admin
{
    preferences = (
        {
            AuxiliaryMailAccounts = (
            );
            LocaleCode = de;
            SOGoAlternateAvatar = none;
            SOGoAnimationMode = normal;
            SOGoAppointmentSendEMailNotifications = <*I1>;
            SOGoCalendarCategories = (
                Fragen,
                Feiertag,
                Geburtstag,
                Klienten,
                "Jubil\U00E4um",
                Kunde,
                Besprechung,
                Anrufe,
                Verschiedenes,
                Urlaub,
                "Pers\U00F6nlich",
                Status,
                Geschenke,
                Ferien,
                Konkurrenz,
                Favoriten,
                Ideen,
                Lieferanten,
                Reise,
                Fortsetzung,
                "Gesch\U00E4ft",
                Projekte
            );
            SOGoCalendarCategoriesColors = {
                Anrufe = "#CCCCCC";
                Besprechung = "#CCCCCC";
                Favoriten = "#CCCCCC";
                Feiertag = "#FFCC33";
                Ferien = "#CCCCCC";
                Fortsetzung = "#CCCCCC";
                Fragen = "#CCCCCC";
                Geburtstag = "#CCCCCC";
                "Gesch\U00E4ft" = "#CCCCCC";
                Geschenke = "#CCCCCC";
                Ideen = "#CCCCCC";
                "Jubil\U00E4um" = "#CCCCCC";
                Klienten = "#CCCCCC";
                Konkurrenz = "#CCCCCC";
                Kunde = "#CCCCCC";
                Lieferanten = "#CCCCCC";
                "Pers\U00F6nlich" = "#CCCCCC";
                Projekte = "#CCCCCC";
                Reise = "#CCCCCC";
                Status = "#CCCCCC";
                Urlaub = "#CCCCCC";
                Verschiedenes = "#CCCCCC";
            };
            SOGoCalendarDefaultReminder = NONE;
            SOGoCalendarEventsDefaultClassification = PUBLIC;
            SOGoCalendarTasksDefaultClassification = PUBLIC;
            SOGoCalendarWeekdays = (
                SU,
                MO,
                TU,
                WE,
                TH,
                FR,
                SA
            );
            SOGoContactsCategories = (
                " Freund",
                " Gesch\U00E4ftspartner",
                " Kollegin",
                " Konkurrenten",
                " Kunden",
                " Lieferant",
                " Presse",
                " VIP",
                Familie
            );
            SOGoDayEndTime = "18:00";
            SOGoDayStartTime = "08:00";
            SOGoDefaultCalendar = selected;
            SOGoFirstDayOfWeek = <*I0>;
            SOGoFirstWeekOfYear = January1;
            SOGoGravatarEnabled = <*I0>;
            SOGoLanguage = German;
            SOGoLoginModule = Mail;
            SOGoLongDateFormat = "%A, %B %d, %Y";
            SOGoMailAddOutgoingAddresses = <*I0>;
            SOGoMailAutoSave = <*I5>;
            SOGoMailComposeFontSize = <*I0>;
            SOGoMailComposeMessageType = html;
            SOGoMailDisplayRemoteInlineImages = never;
            SOGoMailLabelsColors = {
                "$label1" = (
                    Wichtig,
                    "#FF0000"
                );
                "$label2" = (
                    "Gesch\U00E4ftlich",
                    "#FF9900"
                );
                "$label3" = (
                    "Pers\U00F6nlich",
                    "#009900"
                );
                "$label4" = (
                    "To-Do",
                    "#3333FF"
                );
                "$label5" = (
                    "Sp\U00E4ter",
                    "#993399"
                );
            };
            SOGoMailMessageForwarding = inline;
            SOGoMailReceiptAllow = 1;
            SOGoMailReceiptAnyAction = ignore;
            SOGoMailReceiptNonRecipientAction = ignore;
            SOGoMailReceiptOutsideDomainAction = ignore;
            SOGoMailReplyPlacement = below;
            SOGoMailSignaturePlacement = below;
            SOGoRefreshViewCheck = manually;
            SOGoRememberLastModule = <*I0>;
            SOGoSelectedAddressBook = personal;
            SOGoShortDateFormat = "%d-%b-%y";
            SOGoTimeFormat = "%H:%M";
            SOGoTimeZone = "Europe/Vienna";
            Vacation = {
                autoReplyEmailAddresses = (
                    "admin@domain.local"
                );
                daysBetweenResponse = <*I7>;
                endDate = <*I0>;
                startDate = <*I0>;
            };
            locale = {
                days = (
                    Sonntag,
                    Montag,
                    Dienstag,
                    Mittwoch,
                    Donnerstag,
                    Freitag,
                    Samstag
                );
                months = (
                    Januar,
                    Februar,
                    "M\U00E4rz",
                    April,
                    Mai,
                    Juni,
                    Juli,
                    August,
                    September,
                    Oktober,
                    November,
                    Dezember
                );
                shortDays = (
                    So,
                    Mo,
                    Di,
                    Mi,
                    Do,
                    Fr,
                    Sa
                );
                shortMonths = (
                    Jan,
                    Feb,
                    "M\U00E4r",
                    Apr,
                    Mai,
                    Jun,
                    Jul,
                    Aug,
                    Sep,
                    Okt,
                    Nov,
                    Dez
                );
            };
        },
        {
            Calendar = {
                EventsFilterState = "view_next7";
                EventsSortingState = (
                    start,
                    1
                );
                FoldersOrder = (
                    personal
                );
                PreventInvitationsWhitelist = {
                };
                SelectedList = eventsListView;
                View = weekview;
            };
            Contact = {
                SortingState = (
                    "c_cn",
                    1
                );
            };
            Mail = {
            };
        }
    );
    tables = {
        "/Users/admin/Calendar/personal" = {
            acl = {
            };
            displayname = "Pers\U00F6nlicher Kalender";
            records = (
                {
                    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo 3.2.10//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Vienna
X-LIC-LOCATION:Europe/Vienna
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:1B5D-5A2A8B00-11-68C8F100
SUMMARY:Sogotest
LOCATION:Vienna
CLASS:PUBLIC
TRANSP:OPAQUE
DTSTART;TZID=Europe/Vienna:20171208T163000
DTEND;TZID=Europe/Vienna:20171208T181500
CREATED:20171208T125145Z
DTSTAMP:20171208T125145Z
LAST-MODIFIED:20171208T125145Z
END:VEVENT
END:VCALENDAR";
                    "c_name" = "1B5D-5A2A8B00-11-68C8F100.ics";
                }
            );
        };
        "/Users/admin/Contacts/personal" = {
            acl = {
            };
            displayname = "Pers\U00F6nliches Adressbuch";
            records = (
                {
                    "c_content" = "BEGIN:VLIST
UID:1B5D-5A2A8A80-9-68C8F100.vcf
VERSION:1.0
FN:Testlist
DESCRIPTION:List for testing
CARD;FN=testcontact2:1B5D-5A2A8A80-B-68C8F100.vcf
END:VLIST";
                    "c_name" = "1B5D-5A2A8A80-9-68C8F100.vcf";
                },
                {
                    "c_content" = "BEGIN:VCARD
UID:1B5D-5A2A8A80-B-68C8F100.vcf
VERSION:3.0
CLASS:PUBLIC
PROFILE:VCARD
N:Contact2;Test
FN:testcontact2
TEL:34545645634
END:VCARD";
                    "c_name" = "1B5D-5A2A8A80-B-68C8F100.vcf";
                }
            );
        };
    };
testuser markus
[root@testserver sogo-2017-12-08_1354]# cat markus
{
    preferences = (
        {
            SOGoAlternateAvatar = none;
            SOGoAnimationMode = normal;
            SOGoCalendarCategories = (
                Fragen,
                Feiertag,
                Geburtstag,
                Klienten,
                "Jubil\U00E4um",
                Kunde,
                Besprechung,
                Anrufe,
                Verschiedenes,
                Urlaub,
                "Pers\U00F6nlich",
                Status,
                Geschenke,
                Ferien,
                Konkurrenz,
                Favoriten,
                Ideen,
                Lieferanten,
                Reise,
                Fortsetzung,
                "Gesch\U00E4ft",
                Projekte
            );
            SOGoCalendarCategoriesColors = {
                Anrufe = "#CCCCCC";
                Besprechung = "#CCCCCC";
                Favoriten = "#CCCCCC";
                Feiertag = "#FFCC33";
                Ferien = "#CCCCCC";
                Fortsetzung = "#CCCCCC";
                Fragen = "#CCCCCC";
                Geburtstag = "#CCCCCC";
                "Gesch\U00E4ft" = "#CCCCCC";
                Geschenke = "#CCCCCC";
                Ideen = "#CCCCCC";
                "Jubil\U00E4um" = "#CCCCCC";
                Klienten = "#CCCCCC";
                Konkurrenz = "#CCCCCC";
                Kunde = "#CCCCCC";
                Lieferanten = "#CCCCCC";
                "Pers\U00F6nlich" = "#CCCCCC";
                Projekte = "#CCCCCC";
                Reise = "#CCCCCC";
                Status = "#CCCCCC";
                Urlaub = "#CCCCCC";
                Verschiedenes = "#CCCCCC";
            };
            SOGoCalendarDefaultReminder = NONE;
            SOGoCalendarEventsDefaultClassification = PUBLIC;
            SOGoCalendarTasksDefaultClassification = PUBLIC;
            SOGoCalendarWeekdays = (
                SU,
                MO,
                TU,
                WE,
                TH,
                FR,
                SA
            );
            SOGoContactsCategories = (
                " Freund",
                " Gesch\U00E4ftspartner",
                " Kollegin",
                " Konkurrenten",
                " Kunden",
                " Lieferant",
                " Presse",
                " VIP",
                Familie
            );
            SOGoDayEndTime = "18:00";
            SOGoDayStartTime = "08:00";
            SOGoDefaultCalendar = selected;
            SOGoFirstDayOfWeek = <*I0>;
            SOGoFirstWeekOfYear = January1;
            SOGoGravatarEnabled = <*I0>;
            SOGoLanguage = English;
            SOGoLoginModule = Mail;
            SOGoLongDateFormat = "%A, %B %d, %Y";
            SOGoMailAddOutgoingAddresses = <*I0>;
            SOGoMailAutoSave = 5;
            SOGoMailComposeFontSize = 0;
            SOGoMailComposeMessageType = html;
            SOGoMailDisplayRemoteInlineImages = never;
            SOGoMailLabelsColors = {
                "$label1" = (
                    Wichtig,
                    "#FF0000"
                );
                "$label2" = (
                    "Gesch\U00E4ftlich",
                    "#FF9900"
                );
                "$label3" = (
                    "Pers\U00F6nlich",
                    "#009900"
                );
                "$label4" = (
                    "To-Do",
                    "#3333FF"
                );
                "$label5" = (
                    "Sp\U00E4ter",
                    "#993399"
                );
            };
            SOGoMailMessageForwarding = inline;
            SOGoMailReplyPlacement = below;
            SOGoMailSignaturePlacement = below;
            SOGoRefreshViewCheck = manually;
            SOGoSelectedAddressBook = personal;
            SOGoShortDateFormat = "%d-%b-%y";
            SOGoTimeFormat = "%H:%M";
            SOGoTimeZone = "Europe/Vienna";
        },
        {
            Calendar = {
                EventsFilterState = "view_next7";
                EventsSortingState = (
                    start,
                    1
                );
                FoldersOrder = (
                    personal
                );
                SelectedList = eventsListView;
                View = weekview;
            };
            Contact = {
                SortingState = (
                    "c_cn",
                    1
                );
            };
        }
    );
    tables = {
        "/Users/markus/Calendar/personal" = {
            acl = {
            };
            displayname = "Pers\U00F6nlicher Kalender";
            records = (
                {
                    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo 3.2.10//EN
VERSION:2.0
BEGIN:VEVENT
UID:1B5B-5A2A8B00-1-1B782A80
SUMMARY:Testevent
DESCRIPTION:Testdescription
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER;VALUE=DURATION;X-WEBSTATUS=triggered;RELATED=START:-PT7M
ACTION:DISPLAY
END:VALARM
TRANSP:OPAQUE
DTSTART;VALUE=DATE:20171208
DTEND;VALUE=DATE:20171209
CREATED:20171208T125325Z
DTSTAMP:20171208T125325Z
LAST-MODIFIED:20171208T125325Z
END:VEVENT
END:VCALENDAR";
                    "c_name" = "1B5B-5A2A8B00-1-1B782A80.ics";
                }
            );
        };
        "/Users/markus/Contacts/personal" = {
            acl = {
            };
            displayname = "Personal Address Book";
            records = (
                {
                    "c_content" = "BEGIN:VCARD
UID:1B5D-5A2A8980-3-68C8F100.vcf
VERSION:3.0
CLASS:PUBLIC
PROFILE:VCARD
N:Contact;Test
FN:Testcontact
EMAIL:testcontact@domain.com
END:VCARD";
                    "c_name" = "1B5D-5A2A8980-3-68C8F100.vcf";
                }
            );
        };
    };
1 Like

when you modify UIDFieldName to userPrincipalName instead of sAMAccountName, then the name of the file is user@domain.com but of course the backup fails because the link in mariadb is broken

:cry:

Sorry, it just was an improvement idea, I didn’t want to point to that UIDFieldName thing again…:innocent:

no, no, no

Sure that we need to think about, but I think that we will require manual steps of the sysadmin…for the new installation, it is not a problem

I’m doing a little script to restore all data

1 Like

Will that install the patch I’m trying to avoid ?
(Means test on different system for me)

nope, only backup, I for the moment let down it :slight_smile:
of course I prefer test VM first

Now I will just create a snapshot, install and test, revert if needed. Else I would have to use a clean vm :wink:

1 Like

So, I’m about to update now. I had some pending updates, so doing it in two passes. First is get everything in standard repo up-to-date, then apply the patch. Will need to test a bit between the two and report back in a bit.

1 Like

This works wonderful! So well, that it just about scrapes the AD account for any relevant info and backs it up. I wonder how usefull this is in my scenario, as SOGo has read only access to those properties, and would likely fail when I restore. (Or so I should hope)

It does backup calendar and personal contactlist data, and I would suspect this can be restored as well. Gonna test that now. But the backup works flawless, thanks!

Edit: output for my scenario:

[root@mymailserver sogo-2017-12-08_2026]# cat username
{
    "ldif_record" = "dn: cn=jeroen visser,cn=users,dc=mydomain,dc=com
sn: Visser
instancetype: 4
pwdlastset: 131563537435499680
samaccounttype: 805306368
countrycode: 0
accountexpires: 0
logoncount: 8427
c_emails: username@mydomain.com
loginshell: /bin/bash
wwwhomepage: https://www.mydomain.com
lastlogontimestamp: 131571337180378420
name: Jeroen Visser
unixhomedirectory: /var/lib/nethserver/home/username
objectcategory: CN=Person,CN=Schema,CN=Configuration,DC=mydomain,DC=com
lastlogoff: 0
primarygroupid: 513
c_name: username
codepage: 0
givenname: Jeroen
profilepath: \\\\myfileserver\\profiles\\username
usnchanged: 4165
c_uid: username
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: user
mail: alias@mydomain.com
homedirectory: \\\\myfileserver\\username
c_cn: Jeroen Visser
whencreated: 20171128144220.0Z
badpasswordtime: 0
cn: Jeroen Visser
displayname: Jeroen Visser
userprincipalname: username@mydomain.com
usncreated: 3843
badpwdcount: 0
whenchanged: 20171207152158.0Z
distinguishedname: CN=Jeroen Visser,CN=Users,DC=mydomain,DC=com
homedrive: U:
samaccountname: username
useraccountcontrol: 66048
lastlogon: 131572347554605360
memberof: CN=Domain Admins,CN=Users,DC=mydomain,DC=com
memberof: CN=support,CN=Users,DC=mydomain,DC=com
";
    preferences = (
	{
	    AuxiliaryMailAccounts = (
	    );
	    LocaleCode = nl;
	    SOGoAlternateAvatar = none;
	    SOGoAnimationMode = normal;
	    SOGoAppointmentSendEMailNotifications = <*I1>;
	    SOGoCalendarCategories = (
		Customer,
		Calls,
		Favorites,
		Meeting,
		Ideas,
		Miscellaneous,
		Birthday,
		Anniversary,
		Vacation,
		Travel,
		Projects,
		Suppliers,
		Gifts,
		Clients,
		Issues,
		Business,
		Holidays,
		Personal,
		Status,
		Competition,
		"Follow up",
		"Public Holiday"
	    );
	    SOGoCalendarCategoriesColors = {
		Anniversary = "#CCCCCC";
		Birthday = "#CCCCCC";
		Business = "#CCCCCC";
		Calls = "#FFCC33";
		Clients = "#CCCCCC";
		Competition = "#CCCCCC";
		Customer = "#CCCCCC";
		Favorites = "#CCCCCC";
		"Follow up" = "#CCCCCC";
		Gifts = "#CCCCCC";
		Holidays = "#CCCCCC";
		Ideas = "#CCCCCC";
		Issues = "#CCCCCC";
		Meeting = "#CCCCCC";
		Miscellaneous = "#CCCCCC";
		Personal = "#CCCCCC";
		Projects = "#CCCCCC";
		"Public Holiday" = "#CCCCCC";
		Status = "#CCCCCC";
		Suppliers = "#CCCCCC";
		Travel = "#CCCCCC";
		Vacation = "#CCCCCC";
	    };
	    SOGoCalendarDefaultReminder = NONE;
	    SOGoCalendarEventsDefaultClassification = PUBLIC;
	    SOGoCalendarTasksDefaultClassification = PUBLIC;
	    SOGoCalendarWeekdays = (
		SU,
		MO,
		TU,
		WE,
		TH,
		FR,
		SA
	    );
	    SOGoContactsCategories = (
		" Business Partner",
		" Competitor",
		" Customer",
		" Family",
		" Friend",
		" Press",
		" Provider",
		" VIP",
		Colleague
	    );
	    SOGoDayEndTime = "18:00";
	    SOGoDayStartTime = "08:00";
	    SOGoDefaultCalendar = selected;
	    SOGoFirstDayOfWeek = <*I0>;
	    SOGoFirstWeekOfYear = January1;
	    SOGoGravatarEnabled = <*I0>;
	    SOGoLanguage = English;
	    SOGoLoginModule = Mail;
	    SOGoLongDateFormat = "%A, %B %d, %Y";
	    SOGoMailAddOutgoingAddresses = <*I0>;
	    SOGoMailAutoSave = <*I5>;
	    SOGoMailComposeFontSize = <*I0>;
	    SOGoMailComposeMessageType = html;
	    SOGoMailCustomEmail = "alias@mydomain.com";
	    SOGoMailDisplayRemoteInlineImages = never;
	    SOGoMailLabelsColors = {
		"$label1" = (
		    Important,
		    "#FF0000"
		);
		"$label2" = (
		    Work,
		    "#FF9900"
		);
		"$label3" = (
		    Personal,
		    "#009900"
		);
		"$label4" = (
		    "To Do",
		    "#3333FF"
		);
		"$label5" = (
		    Later,
		    "#993399"
		);
	    };
	    SOGoMailMessageForwarding = inline;
	    SOGoMailReceiptAllow = 1;
	    SOGoMailReceiptAnyAction = ignore;
	    SOGoMailReceiptNonRecipientAction = ignore;
	    SOGoMailReceiptOutsideDomainAction = ignore;
	    SOGoMailReplyPlacement = below;
	    SOGoMailReplyTo = "alias@mydomain.com";
	    SOGoMailSignature = "";
	    SOGoMailSignaturePlacement = below;
	    SOGoRefreshViewCheck = manually;
	    SOGoRememberLastModule = <*I0>;
	    SOGoSelectedAddressBook = personal;
	    SOGoShortDateFormat = "%d-%b-%y";
	    SOGoTimeFormat = "%H:%M";
	    SOGoTimeZone = "Europe/Amsterdam";
	    Vacation = {
		autoReplyEmailAddresses = (
		    "username@mydomain.com"
		);
		daysBetweenResponse = <*I7>;
		endDate = <*I0>;
		startDate = <*I0>;
	    };
	    locale = {
		days = (
		    Zondag,
		    Maandag,
		    Dinsdag,
		    Woensdag,
		    Donderdag,
		    Vrijdag,
		    Zaterdag
		);
		months = (
		    Januari,
		    Februari,
		    Maart,
		    April,
		    Mei,
		    Juni,
		    Juli,
		    Augustus,
		    September,
		    Oktober,
		    November,
		    December
		);
		shortDays = (
		    Zo,
		    Ma,
		    Di,
		    Wo,
		    Do,
		    Vr,
		    Za
		);
		shortMonths = (
		    Jan,
		    Feb,
		    Maa,
		    Apr,
		    Mei,
		    Jun,
		    Jul,
		    Aug,
		    Sep,
		    Okt,
		    Nov,
		    Dec
		);
	    };
	},
	{
	    Calendar = {
		EventsFilterState = "view_next7";
		EventsSortingState = (
		    start,
		    1
		);
		FoldersOrder = (
		    personal
		);
		InactiveFolders = (
		);
		PreventInvitationsWhitelist = {
		};
		SelectedList = eventsListView;
		View = weekview;
	    };
	    Contact = {
		SortingState = (
		    "c_cn",
		    1
		);
	    };
	    Mail = {
		ExpandedFolders = (
		    "/0",
		    "/0/folderINBOX",
		    "/0/folderPublic",
		    "/0/folderShared",
		    "/0/folderShared/folderlmst01_A_mydomain_D_com"
		);
	    };
	}
    );
    tables = {
	"/Users/username/Calendar/personal" = {
	    acl = {
	    };
	    displayname = "Personal Calendar";
	    records = (
		{
		    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VEVENT
CREATED:20171122T085254Z
LAST-MODIFIED:20171205T085238Z
DTSTAMP:20171205T085238Z
UID:040000008200E00074C5B7101A82E0080000000080409880E962D301000000000000000
 010000000B7787AC01BFB044B88DC520D35B1BF67
SUMMARY:Ik heb iets te doen
X-MOZ-LASTACK:20171205T085238Z
DTSTART;VALUE=DATE:20171122
DTEND;VALUE=DATE:20171123
CLASS:PUBLIC
TRANSP:TRANSPARENT
DESCRIPTION:wheeeelp
X-MOZ-GENERATION:6
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT18H
DESCRIPTION:Standaard Mozilla-beschrijving
END:VALARM
END:VEVENT
END:VCALENDAR";
		    "c_name" = "040000008200E00074C5B7101A82E0080000000080409880E962D301000000000000000010000000B7787AC01BFB044B88DC520D35B1BF67.ics";
		},
		{
		    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20171121T160238Z
LAST-MODIFIED:20171121T160309Z
DTSTAMP:20171121T160309Z
UID:24d05d1f-dee1-41e0-aeb8-b1ca74a4eac4
SUMMARY:Afspraak of zooooo
DTSTART;TZID=Europe/Berlin:20171121T090000
DTEND;TZID=Europe/Berlin:20171122T090000
TRANSP:OPAQUE
CLASS:PUBLIC
X-MOZ-GENERATION:2
END:VEVENT
END:VCALENDAR";
		    "c_name" = "24d05d1f-dee1-41e0-aeb8-b1ca74a4eac4.ics";
		},
		{
		    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20171121T160207Z
LAST-MODIFIED:20171121T160323Z
DTSTAMP:20171121T160323Z
UID:60e9c3e8-1704-4eb1-ba01-9e651fd7a590
SUMMARY:Nieuwe gebeurtenis
DTSTART;TZID=Europe/Berlin:20171122T084500
DTEND;TZID=Europe/Berlin:20171122T094500
TRANSP:OPAQUE
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR";
		    "c_name" = "60e9c3e8-1704-4eb1-ba01-9e651fd7a590.ics";
		},
		{
		    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Amsterdam
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
LAST-MODIFIED:20171121T160149Z
DTSTAMP:20171121T160149Z
UID:6258a444-b96c-4d82-8001-9b53839cbf49
SUMMARY:Testt
X-MOZ-LASTACK:20171121T160149Z
DTSTART;TZID=Europe/Amsterdam:20171121T010000
DTEND;TZID=Europe/Amsterdam:20171121T020000
TRANSP:OPAQUE
CLASS:PUBLIC
X-MOZ-GENERATION:1
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT15M
DESCRIPTION:Standaard Mozilla-beschrijving
END:VALARM
END:VEVENT
END:VCALENDAR";
		    "c_name" = "6258a444-b96c-4d82-8001-9b53839cbf49.ics";
		},
		{
		    "c_content" = "BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20171121T160240Z
LAST-MODIFIED:20171121T160240Z
DTSTAMP:20171121T160240Z
UID:b036a3fa-fa6a-4895-bc94-62de68634fb1
SUMMARY:Nieuwe gebeurtenis
DTSTART;TZID=Europe/Berlin:20171122T111500
DTEND;TZID=Europe/Berlin:20171122T111500
TRANSP:OPAQUE
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR";
		    "c_name" = "b036a3fa-fa6a-4895-bc94-62de68634fb1.ics";
		}
	    );
	};
	"/Users/username/Contacts/personal" = {
	    acl = {
	    };
	    displayname = "Personal Address Book";
	    records = (
		{
		    "c_content" = "BEGIN:VCARD
UID:401A-5A2AE680-1-5187A600.vcf
VERSION:3.0
CLASS:PUBLIC
PROFILE:VCARD
N:Contact;Test
NICKNAME:TC
FN:Test Contact
EMAIL;TYPE=home:somemail@example.com
END:VCARD";
		    "c_name" = "401A-5A2AE680-1-5187A600.vcf";
		}
	    );
	};
    };
}[root@mymailserver sogo-2017-12-08_2026]#