Re: [GLLUG] Perl programming project

2020-04-09 Thread Marco van Beek via GLLUG

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

2020-04-08 Thread James Courtier-Dutton via GLLUG
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

2020-04-08 Thread Marco van Beek via GLLUG

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