I made a very basic version of a vcard export
here is the commit on my github repo: add very basic vcard export · LordVan/tryton-modules@0bf92a0 · GitHub
(i think for thunderbird to be able to connect i need to also route .well-known,… if i look at the request log:
Thu Jun 01 11:44:37 2023] INFO:trytond.wsgi:<Request 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav' [GET]>
Thu Jun 01 11:44:41 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:44:41] "GET /tryton_test/party/carddav HTTP/1.1" 200 -
Thu Jun 01 11:45:46 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:45:46 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:45:46] "PROPFIND /tryton_test/party/carddav/ HTTP/1.1" 405 -
Thu Jun 01 11:45:47 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:45:47 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:45:47] "PROPFIND /tryton_test/party/carddav/ HTTP/1.1" 405 -
Thu Jun 01 11:45:48 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/.well-known/carddav' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:45:48 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:45:48] "PROPFIND /tryton_test/party/carddav/.well-known/carddav HTTP/1.1" 405 -
Thu Jun 01 11:45:51 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:45:51 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:45:51] "PROPFIND /tryton_test/party/carddav/ HTTP/1.1" 405 -
Thu Jun 01 11:45:52 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:45:52 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:45:52] "PROPFIND /tryton_test/party/carddav/ HTTP/1.1" 405 -
Thu Jun 01 11:45:53 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/.well-known/carddav' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:45:53 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:45:53] "PROPFIND /tryton_test/party/carddav/.well-known/carddav HTTP/1.1" 405 -
Thu Jun 01 11:46:39 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:46:39 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:46:39] "PROPFIND /tryton_test/party/carddav/ HTTP/1.1" 405 -
Thu Jun 01 11:46:40 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:46:40 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:46:40] "PROPFIND /tryton_test/party/carddav/ HTTP/1.1" 405 -
Thu Jun 01 11:46:41 2023] INFO:trytond.wsgi:<XMLRequest 192.168.69.1 'http://192.168.0.9:8000/tryton_test/party/carddav/.well-known/carddav' [PROPFIND] (invalid WSGI environ)>
Thu Jun 01 11:46:41 2023] INFO:werkzeug:192.168.69.1 - - [01/Jun/2023 11:46:41] "PROPFIND /tryton_test/party/carddav/.well-known/carddav HTTP/1.1" 405 -
this is of course no carddav yet … just a vcard export, but it could be used for one-way sync already. I am still reading cardDAV RFC / looking for libraries
improvement suggestions / comments welcome. - also I can make this a seperate module later on if others are interested. - That said I think most people would want to customize stuff here anyway for custom fields,…