Re: [GLLUG] Perl programming project
On 08/04/2020 19:14, James Courtier-Dutton wrote: On Thu, 20 Feb 2020 at 10:57, Marco van Beek via GLLUG wrote: Basically we currently have an LDAP address book which is used by our desktop phones and our scanner. We also have started to use CardDAV as support is slowly extended into Thunderbird and Outlook (via a plug-in) but the VOIP phones and MFD do not understand CardDAV, so we need something to allow CardDAV to answer LDAP queries. After much unsuccessful searching (found one bit of bespoke code but the author never got back to me) I have figured out that OpenLDAP can use a Perl backend, and there is a Perl module that does CardDAV. We do not need a full two way conversation between the two, but as a project this does have the potential for a much bigger scope. It seems a bit confused to me. Do you have an LDAP server or a CardDAV server or both? I would have thought having a single server that can handle both query types is the way to go, because I expect the data model behind CardDAV and LDAP is different. One would probably need to design the data model from the start with both protocols in mind, to get this working well. Hi, Essentially it is a LDAP to CardDav / CardDAV to LDAP gateway, but rather than design something from the ground up, OpenLDAP has the ability to have custom backends, so my idea is simply to have a CardDAV backend to an OpenLDAP server. The CardDAV server could be anywhere. Yes, the data model is different, but our requirements are very simple, since all we are doing is serving telephone and mobile numbers up to desktop handsets and email addresses and fax numbers to multifunction printers. OpenLDAP supports both Bash and Perl for custom backends. All that is needed for full two way interactivity is 9 functions (https://linux.die.net/man/5/slapd-perl). I think we only need three of them for what we need, as we don't need two way traffic. Every LDAP / CardDAV project I have seen on the Internet fails because it tries to do too much, and be too many things to too many people. All I need is a standards compliant way of linking the two services. The moment you try to access the address book database you limit your choices. For example, Davical, which we use for CardDAV, using Postgresql, and OpenLDAP does support an SQL backend, but now both services really does need to be on the same server, and you cannot use a CardDAV collection on another system, and you cannot use another LDAP system on the primary server without worrying about bindings, so this really is a proxy system that could live on a VM and only do this small task. I could even see this running on a Raspberry Pi serving up an iCloud address book collection to a local MFP scanner in an office. So while I may not have explained myself, I was, in my defence, looking for a programmer to pay to do the work, not for a critique of my approach. I am very happy to explain my requirements and approach in more detail to someone who is interested in doing the work, but I did not want to fill the list with pages of details. Cheers, Marco -- GLLUG mailing list GLLUG@mailman.lug.org.uk https://mailman.lug.org.uk/mailman/listinfo/gllug
Re: [GLLUG] Perl programming project
On Thu, 20 Feb 2020 at 10:57, Marco van Beek via GLLUG wrote: > Basically we currently have an LDAP address book which is used by our > desktop phones and our scanner. We also have started to use CardDAV as > support is slowly extended into Thunderbird and Outlook (via a plug-in) > but the VOIP phones and MFD do not understand CardDAV, so we need > something to allow CardDAV to answer LDAP queries. After much > unsuccessful searching (found one bit of bespoke code but the author > never got back to me) I have figured out that OpenLDAP can use a Perl > backend, and there is a Perl module that does CardDAV. We do not need a > full two way conversation between the two, but as a project this does > have the potential for a much bigger scope. It seems a bit confused to me. Do you have an LDAP server or a CardDAV server or both? I would have thought having a single server that can handle both query types is the way to go, because I expect the data model behind CardDAV and LDAP is different. One would probably need to design the data model from the start with both protocols in mind, to get this working well. KInd Regards James -- GLLUG mailing list GLLUG@mailman.lug.org.uk https://mailman.lug.org.uk/mailman/listinfo/gllug
Re: [GLLUG] Perl programming project
Hi, Resending this as I still haven't found anyone and circumstances have changed massively in the last 6 weeks. Cheers all. Marco On 20/02/2020 10:56, Marco van Beek wrote: Hi All, Wondering if there is anyone on the list who fancies a little Perl programming project? The resulting code would be open source (and happy for the author to put it up on SourceForge / etc) and it would appear to be a "much sort-for but never found" bit of code if my web searches are anything to go by. Long story short, we are trying to migrate from Samba3 with our own somewhat hacked version of OpenLDAP to Samba4 that has it's own version of LDAP that isn't really suitable for a couple of things we need to do with it. Basically we currently have an LDAP address book which is used by our desktop phones and our scanner. We also have started to use CardDAV as support is slowly extended into Thunderbird and Outlook (via a plug-in) but the VOIP phones and MFD do not understand CardDAV, so we need something to allow CardDAV to answer LDAP queries. After much unsuccessful searching (found one bit of bespoke code but the author never got back to me) I have figured out that OpenLDAP can use a Perl backend, and there is a Perl module that does CardDAV. We do not need a full two way conversation between the two, but as a project this does have the potential for a much bigger scope. Anyway, my Perl programming days are a while ago and right now whilst not exactly cash rich, I am time poor, so happy to throw some money in someone's direction if they think they can pull it off. I don't think it is more than a couple of days worth of work, but setting up a CardDAV system and an OpenLDAP system would be time consuming so we could fire up a VM with these already set up for someone to play with if that was needed. If anybody out there is interested let me know. Cheers, Marco -- GLLUG mailing list GLLUG@mailman.lug.org.uk https://mailman.lug.org.uk/mailman/listinfo/gllug