Project

General

Profile

Multi CardDAV server and/or multi address book support

Added by Markus Jessl over 2 years ago

Hi Joerg,

I have questions regarding the support of 2 specific scenarios:

Currently supported:

Questions:

If the CardDAV server contains multiple address books which are used by l2cpbg, how can it be arranged that different phones can see only specific address book entries (aka phone specific address books)?
E.g.: Phone 1 gets only address book entries, while Phone 2 gets only address book entries.

Are multiple CardDAV servers possible? Similar to question 1, how can it be arranged that different phones can see only CardDAV server specific address book entries (aka phone specific address books)?

Thx a lot.

Cheers,
Markus


Replies (8)

RE: Multi CardDAV server and/or multi address book support - Added by Jörg Ebeling over 2 years ago

Hi Markus,

interesting questions, which already curve in my brain (since version 0.9.x) as possible features, but they're not configurable at the moment with one L2CPBG.

Answers:

  1. This would require some kind of user/addressbook permission settings. Or do you have another idea?

  2. Yes and this could also be used as workaround for 1) if the variant of user/addressbook variations is small. I already do some similar stuff for Office branches in different locations which use the same common addressbook.

Sample:
Create a user "PBGW Sales" and "PBGW Purchase" as Carddav-Server-User and give them permissions to different addressbooks. I.e.
"PBGW Sales" get access to addressbooks "Public" and "Customer" whereas
"PBGW Purchase" get access to addressbooks "Public", "Customer" as well as "Supplier"

Now you can configure two L2CPBG configurations (on different LDAP Ports) with the relevant CardDAV users (PBGW Sales/PBGW Purchase). At last point the relevant Sales/Purchase phone to his corresponding L2CPBG instance.

I already tested such configuration @ Linux as well as I have such a configuration running in real @ MacOS. Regarding Windows, someone might need to test it ;-)

RE: Multi CardDAV server and/or multi address book support - Added by Markus Jessl over 2 years ago

Hi Joerg,

thx a lot.

Regarding:

  1. I'm not sure how you store the address books in your internal DB but if you also keep the CardDAV addressbook names you are loading from,
    maybe you just could make multiple [ldap.bind] entries (multi user support) in the config and add the "addressbooks" regex filter there as well.

[ldap.bind]
dn = "cn=user1"
pass = "password"
addressbooks = "addressbook1" # Example: "^(?i)(contacts|shared by someone)$"

[ldap.bind]
dn = "cn=user2"
pass = "password"
addressbooks = "addressbook2" # Example: "^(?i)(contacts|shared by someone)$"

  1. Starting multiple l2cpbg instances to have multi CardDAV and/or multi user support is fine as a workaround but I assume this will give problems once you implemented your Windows service ???.
    Supporting multiple CardDAV servers I think is not needed by many users but multi user support [number 1) above] would be for sure a big additional value.

By the way, how much is a full license? I think you do a great job and provide outstanding support, so I'm happy to pay for good software (as long it's not too much ;))

Cheers,

Markus

RE: Multi CardDAV server and/or multi address book support - Added by Jörg Ebeling over 2 years ago

Hi Markus,

Having multiple [bind] entries is also a good idea.
At the moment I do not store the AddressBook(s) in any way within the internal DB... but did know that I need to somewhen...

Up to now I had the idea to store the AddressBook as LDAP subtree level so that one can define the interested AddressBooks within his phones LDAP query. Like:
Name Filer: "(&(|(cn=%)(sn=%))(|(abook=sales)(abook=public)))" (only for illustration, don't know if it's a legit LDAP filter)

But this is more a "selection" feature without permission aspects and I'm unsure which is more important within a business usage.
Well, for sure, the normal user does not have the capabilities to change the LDAP filter within his phone, nor know how the filter has to look. But for the technic-interested Nerd who get access to the filter settings, can easily get access to all adresses by removing the "abook" selection.

What Do you think is more important. Usability or permission-safety?

Maybe mixing both of the ideas will solve both requirement.

Well, implementing 1) is later down on the road map ;-)
Linux, MacOS & Windows service is nearly done (you can already test the windows service (with the 0.9.2 versions). It should install, start, stop, log to the event-manager, ... but it will fail to read the correct config atm!)
When the Windows service is working, I'll try how it will behave when starting multiple instances. I guess I will find a simple workaround like config option "servicename=xyz" as a workaround, before implementing 1) ^^
So, at the moment, running multiple instances is the only option for the power-user who's interested in complex addressbook selections.

BTW:
I planned to sell the unlimited version for 300€ (inkl. German Tax).
But to be honest, also the companies for which I initial started to write this Gateway (beside my own personal and company requirement), still live with the "free" version cause they seldom hit the limits (or live with them).

Thanks a lot for the "flowers" regarding the "outstanding support"... but this was also "Luck" due to free time and holidays these days ;-).
During the next days I can't fulfill this "outstanding support" because I'm on a long WeekEnd trip with my family ;-)
So: "Sorry" in beforehand at this place :-)

Read yea

Jörg

RE: Multi CardDAV server and/or multi address book support - Added by Markus Jessl over 2 years ago

Hi Joerg,

Regarding:

  1. As I see you also targeting companies with the software I would say "Usability and permission-safety" are important with the higher priority on safety.
    An administrator will not like it if a sophisticated user bypasses any permission restrictions ;).

  2. Understand. Thx.

  3. Selling price; I would recommend you not to have a fixed price. Big companies with hundreds of phones will like the price but private users will not be able to effort it.
    Maybe think about the following price model idea.
    Have a price matrix based on number of different request sources (Phone - IP/MAC addresses). E.g. 1 phone = 10 Euro, 5 phones = 45 Euro, etc.
    Maybe your config file could contain the phone IP/MAC addresses who want to access or you limit by number of IP addresses in a 24h period. (Of course this would also mean to restrict to only a single instance run ;).)
    That way it's a more fair usage policy and price.
    Since you also targeting companies you might also think about delivering your solution as a ready to run package, like e.g. Linux based VirtualBox image or as a Docker Container.
    This option would make it also more attractive.

Don't worry, I'm also busy the next days :).

BTW: I tested the beta version you provided and replied in the Bug thread.

Thx again.

Cheers,

Markus

RE: Multi CardDAV server and/or multi address book support - Added by Jörg Ebeling over 2 years ago

Hi Markus.

  1. Thanks for your valuation.

  2. Good idea with the price matrix. Moreover not very complicated to implement.
    However this project was (and is) a winter-fun project because I was tired and nerved to do manual phonebook conversions for me and some of my customer... moreover I was interested to learn my 13th? language ;-)
    99% of the user seem to be fine with the free version... and the money stuff isn't the interesting part... I'm more interested in a web-backend for the configuration and the monitoring first :-) (after solving the bugs)

How much phones do you use?
Does the "... free ..." message bother you?
If the "... free ..." message bother you, what do you think would be a fair price (for your amount of phones)?

Regarding the "ready to run" package:
I think there remains to much individual configuration.
The normal phone user even don't know what LDAP or CardDAV is. So people who find L2CPBG have a deeper technical knowledge as well as a use case. That's why I try to support all major binaries. The one who find (and require) L2CPBG has somewhere a 24/7 running Raspi, Windows-, Mac- or Linux-PC.

But I understand what you mean. When having the web-backend ready, I could build some kind of "config wizard" which might help the inexperienced to get quicker on track.

RE: Multi CardDAV server and/or multi address book support - Added by Markus Jessl over 2 years ago

Hi Joerg,

I'm not bothered by the "...free.." message :).
Personally I like to spend a few bucks for good software to get it's full functionality.
So for me (again, its my personal opinion) I would have 2 different versions:

  1. A free version which have limitations, like e.g. free message + only one phone support + maximum 50 phone entries.
  2. A full version where is no free message but certain limitation restrictions based on the license.

A full version price matrix like e.g. the following would be attractive to private users as well as companies I assume:

  • 1 phone unlimited entries = 10 Euro
  • 3 phone unlimited entries = 25 Euro
  • 5 phone unlimited entries = 40 Euro
  • 10 phone unlimited entries = 75 Euro
  • 50 phone unlimited entries = 350 Euro
  • Unlimited phones unlimited entries = 500 Euro

Regarding the "ready to run" package:

I think I'm too much thinking in my customers environment world :).
I'm also a software developer and IT project manager where most of my projects are kind of hybrid/private cloud related
and bigger third party software products are prefered as software appliances ;).
Because of that, I assume that in my private environments I also try to run software independently.
The best for me personally would be a package or docker container I can run directly on my Synology NAS - ;) lol.

Cheers,

Markus

RE: Multi CardDAV server and/or multi address book support - Added by Jörg Ebeling over 2 years ago

Hi Markus,

thanks a lot for your personal suggestion.

I'm wondering about the strictness on the free version as well as the high fees for the unlimited version.
But I'm also comfortable surprised that there are people outside who are willing to spend some $ for tools which make (technical) life easier ;-)

However, as long as I've real functional bugs (like the one with your Fanvil series), I've other issues to solve ;-)

Now the more surprising Synology theme:
I already checked how to build a Synology packet some month ago, but it was limited to C (whereas my codebase is fully Golang based). I wasn't aware that Synology support docker container!!
Do you already have some experience running non-Synology docker container? Are they running well or do you know about some limitations?

Greetings

Jörg

RE: Multi CardDAV server and/or multi address book support - Added by Markus Jessl over 2 years ago

Hi Joerg,

regarding the high unlimited version fees:
It was just an idea as you targeted 300Euro initially for all kind of usage ;).

Regarding Docker:
In the Synology Package Manager (same like on Asustor, Qnap, etc.) you can install a Docker package.
https://www.synology.com/en-global/dsm/packages/Docker

There you can import Docker images from files or from a URL.
Here are some videos, which might give you some help:
https://www.youtube.com/watch?v=s0HdfxjUtx8
https://www.youtube.com/watch?v=xzMhZoUs7uw

I personally have some Docker containers running on my Asustor NAS but not yet on the Synology I'm using for the CardDAV server.
But there really shouldn't be any issues.

If you want to test Docker containers on your Windows PC, you might wanna install Docker Desktop.
https://docs.docker.com/docker-for-windows/install/
This allows you to run Docker containers under Windows but you can even decide that as the underlying OS, Linux is used.
I'm using Docker Desktop to test my Azure Web Apps locally which are finally running in Production in an Azure Linux Server Plan.

Thx again for your great support.

Cheers,

Markus

    (1-8/8)
    Go to top