> handle big number of users and big amount of data. You must be working for the NSA.
Sent from ProtonMail Mobile On Fri, Aug 25, 2017 at 2:15 PM, Robert Wolf <r.wolf.c...@gmail.com> wrote: > On Thu, 24 Aug 2017, Rupert Gallagher wrote: > Re: dependencies > > - db: > why? just use the ical and vcard files! They are files, they are in a > > directory, they can be used like dovecot uses eml files! No need for > > postgresql or mysql. *** Usually, the DB server is one host, Webclient is > other host, IMAP server (or cluster) are other hosts, SMTP Server(-s) is > other host. All these Servers need access same data on one place. Yes, you > can use IMAP to store contacts and events, as e.g. Kerio, Groupwise, and > probably some other do and then write some interface server to convert data > from IMAP to HTTP. But many vcard and vcal servers store the data in DB > (AFAIK SOGo.nu stores these in DB). Btw, dovecot can use SOLR/Lucene for > indexing too. Dovecot does use local index files too, but probably if you > have really many emails, then you want really indexing server (which can run > on different hardware). Why? Because of searching. DB creates indexes and can > search fast. Maybe for 100 items is searching on FS and in DB same fast, but > with more and more items, FS will be slower. You know probably, how the vcard > and vcal looks like (if not, please see one). This is a text. Everything is > text. Even dates are text. You cannot search in these files e.g. "if event > starts after 2017/8/25". You have to read every file, parse the dates and > then can you compare. If you convert these vcal into DB, into correct fields, > you can search faster the in FS. And the searching does not mean only if use > want find something. The server must search for alarms, to do free/busy > search, etc. > - webmail: why? We use dovecot!!! *** Webmail is client, > dovecot is server. Do you have only dovecot? No client? Then why do you need > dovecot at all, if none reads the emails? No, really, you need some client. > Webmail is easy to use, Webbrowser is everywhere. I use alpine, but for BFU > is webmail the best. OK, let's say the client for contacts and events could > be thunderbird. Calender is intergrated in TB and it does use HTTP. E.g. even > if the calender items are stored in Kerio in a maildir-like folder invisible > over IMAP, the communication between TB client and Kerio servers runs over > HTTP for vcal. SOGO AddOn for contacts for Thunderbird use HTTP too (it works > even with Kerio). All these clients and server for ical and contacts use > caldav and carddav (DAV over HTTP). Nobody writes server (or client), that > use IMAP, because these is no client (or server) which synchronize vcal or > vcard over IMAP. > - apache web: why? we use nginx. *** This should not > matter, if you know, how to configure nginx to provide same functionality as > apache. You can use your favourite webserver, as long as it supports the > requirements of the app. E.g. if the vcard/vcal application is written in > PHP, then the webserver must be able to run PHP. > - linux: why? we use other > unix systems. *** because the programmers develop it on linux and have tested > it on linux. For most things, you can use other unix too. Sometimes, it is > possible to run it even on Windows, e.g. apache, nginx, php, perl, mysql, ... > these run on Windows too. > - python: why? it takes 140MB all by itself, *** > It must be written in some prg lang. Someone can C, then he writes it in C - > but then, the same libraries must be installed or the developer must compile > for every different system with different libraries. Python, Perl, PHP and > other interpreted languages are compiled on the fly on the currently running > system. Developer can simply pack original source code and this will run on > every platform. Therefore, many people use interpreted langs to let their > apps run on many platform without many special "IFs" and without compiling > for X different platforms. > it is an interpreter (slow) *** I would not > expect really big speed difference between good written python code and C > code for some vcard/vcal server. > it is a security hazard *** I would say, > there could be more security errors (buffer overflow etc) in C code, than in > python code. > we would have to install it on purpose and sanbox it in a > virtual machine! So > we have to install a vm manager. *** As I say, the most > secure server is switched off server and disconnected from LAN and power. You > have to choose between security, functionality and complexity. Either you > provide only smtp+imap server or you want provide more features (webclient, > vcal/vcard, ...) and then you need more software. For a few users could be no > problem to have really some small/light server, which stores all data as > files on local disk. But I think the programmers of such vcard/vcal servers > think about to be able handle big number of users and big amount of data. > Therefore they expect some real DB. More feature == more requirements. > Regards, Robert Wolf.