View Issue Details

IDProjectCategoryView StatusLast Update
0004403SOGoWeb Calendarpublic2019-02-19 19:00
Reportersascha.kasch@sumcumo.com Assigned Toludovic  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionno change required 
Platformamd64OSDebianOS VersionStretch
Product Versionnightly master 
Summary0004403: Multiplebookings not working as epxected
Description

Dear Developers,

i try to configure Resources with Multiple Bookings = 1 on Version 3.2.10 (@shiva.inverse 201802120300)

My Auth Source:

{
  type = ldap;
  CNFieldName = cn;
  IDFieldName = uid;
  UIDFieldName = uid;
  KindFieldName = Kind;
  MultipleBookingsFieldName = Multiplebookings;
  baseDN = "ou=Rooms,dc=domain,dc=com";
  bindDN = "cn=admin,dc=domain,dc=com";
  bindPassword = password;
  canAuthenticate = YES;
  displayName = "domain Rooms";
  hostname = ldap://127.0.0.1:389;
  id = sc-rooms;
  isAddressBook = YES;
}

and LDIF of an example room:

dn: cn=BeatBox,ou=Rooms,dc=domain,dc=com
objectClass: calEntry
objectClass: CalendarResource
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: BeatBox
sn: Konfi
givenName: BeatBox
Kind: location
l: 1og27b
mail: beatbox@domain.com
Multiplebookings: 1
uid: sc-beatbox

now i try to invite the resource to a meeting and that works.
when i log on as another user and try to invite the same resource on the same date and time i can observe
different behavior that depends on the client:

a) webfrontend: does not show that the resource is in use within freebusy and the event is created without problems.
so that i now have two different people having invited the resource. when checking the details of the event i see
a checkmark on the resource as it accepted the invitation

b) thunderbird with latest plugins: will show that the resource is blocked via freebusy but invites the resource
without problems and the resource is also checkmarked as attendee

c) apple calendar also shows via freebuys that the resource is booked, but also the event is created without
problems but the resource is the crossed as not being part of the event

in either case i would expect sogo to reject that invitation and throw 409 status code as per https://sogo.nu/bugs/view.php?id=2899

That is all very inconsistent and i am not sure what is wrong with my setup as it seems to work partly.

thanks,
sascha

Steps To Reproduce

Create a resource and let two people invite it

TagsNo tags attached.

Activities

sascha.kasch@sumcumo.com

sascha.kasch@sumcumo.com

2018-02-13 12:25

reporter   ~0012596

as per Docs:

If this is set to 0, or if the attribute is missing, it means no limit. If set to -1, no limit is imposed but the resource will be marked as busy the first time it is booked.

maybe the resource is always treated as -1
that would explain the behavior in terms of booking but not the missing freebusy lookup within the webinterface

sascha.kasch@sumcumo.com

sascha.kasch@sumcumo.com

2018-02-13 13:36

reporter   ~0012597

ok, sorry for the noise. only posted one ldap-source but i had three, like here:

SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
UIDFieldName = uid;
IDFieldName = uid;
bindFields = (uid, mail);
baseDN = "dc=domain,dc=com";
bindDN = "cn=admin,dc=domain,dc=com";
bindPassword = password;
canAuthenticate = YES;
displayName = "domain User";
hostname = ldap://127.0.0.1:389;
id = sc-auth;
isAddressBook = YES;
},
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
baseDN = "ou=Groups,dc=domain,dc=com";
bindDN = "cn=admin,dc=domain,dc=com";
bindPassword = password;
canAuthenticate = YES;
displayName = "domain Groups";
hostname = ldap://127.0.0.1:389;
id = sc-groups;
isAddressBook = YES;
},
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
KindFieldName = Kind;
MultipleBookingsFieldName = Multiplebookings;
baseDN = "ou=Rooms,dc=domain,dc=com";
bindDN = "cn=admin,dc=domain,dc=com";
bindPassword = password;
canAuthenticate = YES;
displayName = "domain Rooms";
hostname = ldap://127.0.0.1:389;
id = sc-rooms;
isAddressBook = YES;
}
);

to seperate them. but when i compact them into one source like:

SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
UIDFieldName = uid;
IDFieldName = uid;
bindFields = (uid, mail);
KindFieldName = Kind;
MultipleBookingsFieldName = Multiplebookings;
baseDN = "dc=domain,dc=com";
bindDN = "cn=admin,dc=domain,dc=com";
bindPassword = password;
canAuthenticate = YES;
displayName = "domain AB";
hostname = ldap://127.0.0.1:389;
id = sc-auth;
isAddressBook = YES;
}
);
it works as expected

a) webfrontend throws a warning and denies creation
b) thunderbird does not sllow creation and removes that event, does not
display a message
c) calendar app behaves like thunderbird

freebusy lookups are all correct now.

so the only missing thing is a error message when overbooking in calendar.app and thunderbird. maybe thats possible maybe not

tia,
sascha

ludovic

ludovic

2019-02-19 19:00

administrator   ~0013393

Unfortunately SOGo can't control how Thunderbird or Calendar display error messages.

Issue History

Date Modified Username Field Change
2018-02-13 12:17 sascha.kasch@sumcumo.com New Issue
2018-02-13 12:25 sascha.kasch@sumcumo.com Note Added: 0012596
2018-02-13 13:36 sascha.kasch@sumcumo.com Note Added: 0012597
2019-02-19 19:00 ludovic Note Added: 0013393
2019-02-19 19:00 ludovic Status new => closed
2019-02-19 19:00 ludovic Assigned To => ludovic
2019-02-19 19:00 ludovic Resolution open => no change required