Nethserver-sogo, needs test

sorry for the noise.

First see if you can save the agenda by an ‘ics’ way. I don’t know about outlook/window stuff, but probably it exists a way. At least sogo do it with ldif and ics way…start to save your data

Then I would propose that you try to remove the activesync link on your android device, and try to add it again.

Yep I used a test folder in my mirror, but this was not caught by the tests :expressionless:

1 Like

Good Morning, i got everything working only my contacts doesent work with mobile, ios and android, any idea?

i remove it on my ios device and after trying to install the client again, i got an error that i have the wrong password, what is not true. Everything went fine with the Outlook Client and with the Sogo Webgui. Android also did not have contacts, everything else works ok.

for now i give it up, i am not able to log on via ios got this in the sogo.log
2017-12-07 14:18:29.436 sogod[28712:28712] ERROR: could not decode credentials (invalid base64 encoding) Dec 07 14:18:29 sogod [28712]: <0x0x5590d3246430[SOGoDAVAuthenticator]> tried unknown authentication method: Basic (null) (C) Dec 07 14:18:29 sogod [28712]: 192.168.100.140 “OPTIONS /SOGo/Microsoft-Server-ActiveSync HTTP/1.1” 401 33/0 0.001 - - 0 2017-12-07 14:18:29.445 sogod[28712:28712] ERROR: could not decode credentials (invalid base64 encoding) Dec 07 14:18:29 sogod [28712]: <0x0x5590d3246430[SOGoDAVAuthenticator]> tried unknown authentication method: Basic (null) (C) Dec 07 14:18:29 sogod [28712]: 192.168.100.140 “OPTIONS /SOGo/Microsoft-Server-ActiveSync HTTP/1.1” 401 33/0 0.001 - - 0
when i try to log in.

and get this with the android device when i am try to synch
Dec 07 14:21:44 sogod [28710]: [WARN] <0x0x5590d3544d60[SOGoWebDAVAclManager]> entry ‘{DAV:}write’ already exists in DAV permissions table Dec 07 14:21:44 sogod [28710]: [WARN] <0x0x5590d3544d60[SOGoWebDAVAclManager]> entry ‘{DAV:}write-properties’ already exists in DAV permissions table Dec 07 14:21:44 sogod [28710]: [WARN] <0x0x5590d3544d60[SOGoWebDAVAclManager]> entry ‘{DAV:}write-content’ already exists in DAV permissions table

i delete the account from the ios, after i am not able to log in again i dont delete it on the android device.

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