 Okay. Our next speaker is Markus Feilner. He was a Linux journalist. He's also and right now he works at SUSE as a team lead for documentation, leading a global team there. And now he gives a presentation about how he loves contact and how he learns to debug problems with it. Okay. I think this is fine and I'm pretty understandable. Good. Hi everybody. Hello. Yeah. First contact. I mean, I don't think it is really a first contact for you or for me, neither. I've been using contact for a long time and I'm going to tell you why I really like it. Why I think it is at the same time very enterprise ready, but at the other time not that much so or things connected to it. Not that much so that I had to learn how to fix my problems in probably really ugly ways. And I am ready to take every word from every developer to who might want to tell me, don't do that. And I, yeah, you will see. Good. So I will tell you a little bit about me about why KDE, why contact, which version versions I use. We've just seen that it is pretty new, but that's just tumbleweed and my favorite. I will show you my favorite contact functions, which I consider important for enterprise users like me and some exceptionally outstanding gadgetry in contact. That is directly connected to the letter and the last block will be troubleshooting and I'm ready for discussion about that. That's where I do the maybe ugly things. I don't know. It's all mostly autodidactic. I learned it as I went. I'll tell you why. So that is me in my home, my apartment. And as you can see, I'm wearing a Ubuntu hoodie on the top, a red hat, a Debian base cap and what you can't see, but here's a Chameleon. So this is one of the rare red Susie fleece shirts that we produced once. And I see myself like that because I started quite a long time ago with Linux. I'm talking about these versions to get just to get that out of the way. I have to, this cable is a little bit too short. I'm talking about contact in version, what is it, 18043. And Akonadi, the same version, Baloo 548-0 and Akonadi console 18043. All of that is pretty recent from July 19. And I'm using, of course, Open Susie. I'm using Tumbleweed rolling release and it's got the newest basis for especially KDE and other applications that I could have. I started with Susie in 1994. As you could see with the picture I used Fedora, Ubuntu Mint, Debian and other distributions, some of them for years, some of them just shorter. I ran my own business, which I still own. I worked as a consultant and a journalist for Linux Magazine. And I am now team lead of 16 people who write documentation at Susie in a growing team. And if you're looking for a job, I have to say that, of course, Susie is hiring. We've got 300 open positions and we grew to 1,400 people now from the 800 that I started with in 2015. And I'm still writing articles. I'm still doing talks and lobbyists for open source and I think Tumbleweed really rocks. Up there is a picture of me from our Open Susie conference in Prague this year. So this is the email basic setup. I have to go pretty fast because I only have 25 minutes if you want to ask me questions. So the slides are free to have, so I will jump over some things, but you can read it. My slides are always pretty full of text because I want to give you something to read for later also. So I've been using Korea, Cyrus and Dofcut. I used Scalix or the same product but different name, HP OpenMail or Samsung, something. Microsoft Exchange, Citadel, Novell, Microfocus, Groupwise, OwnCloud, NextCloud, OpenExchange and other Cloud Dofcut implementations. Currently I have four Dofcut server accounts in my contact and it's gigabytes of email. And some of the accounts I administrate, some of the Dofcut servers I do administrate on my own. The others are run by companies. I've written some articles for Linux Magazine and others over the years. The first one was in 2007, a comparison of Open Source Groupware. The second one was a comparison under the name of the Firmusketeere. Sorry, some of this is in German screenshots also. But the Firmusketeers were four male clients on Linux. And I also wrote a book about Scalix but Scalix never really went Open Source so that was sort of like a little bit of a failure. Great software but sadly not Open Source. Yeah, despite all the cracks that turned up in KDE in contact, I just say that when I say the magical number four, you will all know what I'm talking about. Despite all of that, I stuck with contact. I tried Thunderbird and Claws in the years of KDE 4 and when Akonati didn't really work but I came back later. Because in my opinion it has so many great features that I regularly use in my environment. Import, export, smart setup wizard, automatically archived mails and data, templates, drafts for new mails, snippets, autocorrect and heaps of configuration options like folder settings, mailing lists. I guess if you're using it, you know most of that. For the others, try it. I absolutely like the way it handles encryption with PGP. I haven't used Asmime much but I really like it. I think it is among the main clients that are available the best and easiest way to use and to introduce people to using it because they at the same time get an understanding of what's going on and they can really use it. What I really like a lot is how it integrates with the standard tools of KDE and also with Cleopatra and GPT in the background. One point where the quality may vary is it integrates with the communication service. I call it communication service because it's not only groupware. In fact, Contact is the only groupware client on Linux but the service I wouldn't call owner next cloud or Google or Facebook a groupware server. It's just services that they offer. I talked today with someone who has seen the current state of the MS Exchange connector which uses the web protocol. What's his name again? No, not web. The web access. Uber. I think it was that. Was it before? Is it a newer one? It doesn't matter. It works pretty well but there is problems with Microsoft's implementation. That's the last thing I heard from a developer. Basically, you can integrate all of these services in contact. Here you see that's the screenshot from integrating an email server. The Microsoft Exchange connector already integrates also appointments and calendaring. This is the calendar. You can see you have Facebook and Google Calendar and arbitrary I-Call whatever you want. I'm very happy with that. Another thing I'm using extensively and I've also written a long article. I think it's seven pages on that. It's service-side email filtering to my knowledge. The only standardized server-side language, small language for filtering. I did lots of groupware migrations and this is something that everybody forgets in groupware migrations. People forget to calculate how much time their employees have to spend in the migration and new setup of their email filters. Seaf is the only one. I don't have that issue because I just choose another. I went to Dofcott when Dofcott could do Seaf. Why should I change before? This interface to my knowledge is the best interface around. Second, maybe round cube, but that's only web-based. You can click, click, click new filters and they are stored on the server. You can access them via an I-O file or an I-O client. Sorry. We are an I-O slave also from Dolphin. Just type sieve dot dot slash slash and your name at server and you see the files that are on the sieve server and you can just open them. Why? This is so much better. The same thing that is exclusive to Contact is the integration of IMAP folder sharing. If you know a little bit about IMAP, you know that every folder or mailbox on an IMAP server can have access rights. If we have an account on the same server, I can grant you the access to read, write, delete and some other things on append here. Read, write, append all rights to an mailbox or folder on my server. That makes it so easy to work together. I'm using that at work with colleagues. We share one folder for a project. Then, I think the benefits of KDE are, I mean I'm running through open doors here, I guess. The search, a Kanadi search, this is also, you see now we're getting directly into troubleshooting. The desktop search, just hit Alt F2 or click on an empty spot on the desktop and start typing and also your emails and everything will be searched and presented to you. That is amazing. Recently, it works pretty well. Now, it's Baloo. It used to be Neppunmuk, but Baloo indexes, mails, attachments, everything. When I start writing a new email, I write your name and I will find about five or six email addresses of you, even though we probably have never exchanged directly an email. Your name with your email address at whatever company you've ever worked will be in some of the documents, some of the PDFs, some of the mailing lists on my system. I don't need to know your email address. I don't need an address book anymore. Since about 10 years, I'm not actively maintaining or using an address book. I'm totally relying on Akanadi and Baloo and it works for me with all the hassle. Okay. I'm not stupid there, but I know there's problems, but I convinced several of my colleagues to go to contact, have a look at it with all the due, with all care that they have to take because some of the things, as we will see, might need some work, especially in my size of usage. I use contact almost completely with the keyboard. Yeah, but that would be like, I'm totally out of the concept of managing an address book. It's right. You have to show me. That's cool. I'm using it completely with my keyboard. For example, when a new mail comes in, I want to move it to the academy folder. I just type m a k a return. m is for move. When I'm in the list of mails, m is for move. Then the filter pops up and the folder list and that type a k a, then the academy folder is highlighted, return, and the mail is there. That is something that people don't believe when, that is something that the mud people won't believe about KDE. The extended, oh yes, at home and at work, I've got three monitors and believe it or not, my contact is spread over two monitors constantly and the edit, the mail window is on the third monitor. So I have the list of folders, the list of emails on one HD monitor, and the contact application spans two monitors. It is always opening like that because I can read an email on one monitor. I have the list and the mailing, the mail, the list of folders and the list of mails on the second monitor and an editor will pop up on the third monitor. So I have always total overview. And with the extended settings of Kwin, I can just make that permanent. This is the feature. It's an extended setting in the window properties. In this case, for example, just for the fun, 13,000 wide, 7,000 high. I mean, I don't have stacks of 4K monitors, but... So that was the first half. I think I'm quite good in time. Or not the first half. That was the praise. And now we're coming to the stuff. You know this, I guess. It's something stalled. The folder isn't fetched. It's like your internet connection stopped working or whatever. You don't know what to do. And yes, it still happens, sadly. Or just what happened just today up here. Sending was successful, but the message could not be moved to the folder send. For send messages. So the message probably reached the people I was sending it to, but why on earth couldn't it send it into this folder? So I tried an add-on module in contact to protocolize the protocol to log all activities. And I haven't followed what the expert plugin does. Maybe some dev can tell me. But the protocol is pretty fancy because I can see, okay, I stopped moving of the message. That is the protocol. You have to restart contact. I stopped it. I stopped the move of the message. Then I started again. But it only said it didn't work. So there may be situations where this helps, but this one, it didn't help. Usually when you keep running into problems like this that don't solve itself, here's a little how-to that I learned what to do to fix that. I mean, some of you will maybe say, don't do that, Marcus. You can't tell them that. But hey, it works for me. And I'm not docker. So I start and stop Arkonadi server. We'll come to that in a second. The Arkonadi server in the background with Arkonadi control. You run Arkonadi FSTK, Arkonadi check while it's running. You can run Arkonadi control vacuum that's sort of like PAX, as I understood it. PAX, the Arkonadi database. Then you restart contact. You maybe even restart KDE or reboot the machine just to get a playing field. It's not the way we usually do, but I've learned this may be helpful. Also because constant updates, the rolling release, thunderbird, and you don't know if it's just because some old libraries are still in the memory being used somewhere, so a kernel is updated or whatever. You have a recreate index function in the folder. In the folders, by a menu, you can unsubscribe from this folder locally. There's local subscriptions and server-side subscriptions. So if you unsubscribe and subscribe again, this will make contact, rebuild the cache for this folder if there's something wrong in the cache. And you can use Arkonadi console to recreate the IMAP cache too. I will show you these things with short screenshots. And you should check with another machine if it's not a problem of the IMAP server, of course. If all of this fails, you've got a problem. So here's Arkonadi control or Arkonadi CTL. Most important features are the commands at the beginning. Start, stop, restart, status, and then vacuum and FSCK. I never used instances. I never had to use it. This is what it does. You see here in the middle. So these are screenshots that I took during the last days when some things went wrong. And I thought, okay, I can use this screenshot for the speech, for the presentation. Maybe it's helpful. So what you see here is I did an Arkonadi FS check. And it said, okay, I found 53,000 external files. Cleaning up missing external files. And then he starts, okay, here's one thing that is... He misses an external file. But that's happening regularly for me. I don't know why if it's just because I have some 16 GB of mails in five accounts and that is maybe a setup that is not that common for Arkonadi for testing. I don't know, but it keeps happening for me. And in most cases, Arkonadi Ctrl-FSCK can fix that in my setup. In most cases, but not always. You know, when you set up an IMAP account, you have the choice between what used to be called offline and online. Nowadays it's called something like local cache. They work very differently. And actually the one that is mostly tested is nowadays default, which is to have local cache. Online IMAP thing, yeah. I use the local cache as a standard and the mails online just for my group-wise server. So the group-wise server, that's not really... That doesn't have many emails. I use full mail download as a standard. Because the way I... Well, I'm not an Arkonadi expert, but I put my hands into it a few times. These files are attachments to your emails. So if it's online, it doesn't really matter, because you're going to get them again. It's going to get them again. I haven't had any consistent problems. That's also why I said have a look at the mail server. If something is corrupted there. Because it's a file. I also thought it's an external file. It must be an attachment or something. So I went on the mail server from a different machine. I could see there's no Arkonadi. Sure, this is about your local cache anyway. If anything gets lost, it's in your local cache, not on the mail server anyway. Yeah, it's Arkonadi, right? If you have a sincere doubt in your Arkonadi instance, there is a tool that's called Arkonadi Test. And what it does, it creates a cache and a lot of stuff. And you have to be careful, because it will create this stuff in TMP. There's some more mistakes in that. I did a mistake in that. This is about running unit tests. I don't think it's going to help you with your user problems. This is about running unit tests. It says in its description that the tool is there to test whether your Arkonadi setup is correct. I don't think that's what it is. That's about running unit tests. I filled my root partition yesterday with it. You see that I was running it, and then I stopped it. And the second, the DU is some 10 minutes later, because my system started to behave strangely, and then I found out that my root partition was full, because the TMP wasn't in a special partition. It's a laptop, yeah? And I found that there were 12 gigabytes of Arkonadi Test. The cache that it built up was 12 gigabytes. I don't know why, but I just said, there's something that I noticed yesterday. Yeah, talk about it. We have another thing that's Balu. That's the successor to Nippermock, the search indexer. The indexer for the search engine now. And it's got some interesting, it's got the principle of the same commands, status, start, stop, restart. And interesting is monitor, because indexing is a process, it takes a lot of resources. It can take a lot of time. You can imagine that the 16 gigabytes of emails that I have take a lot of time. I usually have it run overnight for the indexing. And the monitor command is pretty interesting because it gives you some output about what's going on right now. So, and the best tool, which I must say its capabilities are beyond my reach in terms of understanding what's going on. But the best debugging tool is Arkonadi Console. This is also where you can do the, where you can make the biggest mistakes and destroy things, I assume. That's why there is this warning. But you have a debugger with lots of detail. And that's where I would ask some developer if the other file missing or whatever mistakes persist. So you've got a debugger, you have to activate all of these functions, monitoring, debugging and everything. But it's very helpful if you know what you're doing. You can also create a cache from here. You can dump things to XML and other things. So you can really sort of like low level access and get help for the server. And now is the hard way. That's what I had to do several times, especially after, then after KDE4 and later. Stop Arkonadi, remove the TMP files for Arkonadi. There is often some, there used to be stuff wrong in there and have Arkonadi do a plain start. And then I start Arkonadi console and contact at the same time to see if I have any troubles, helped in some cases. This is what, yeah, this is a horrible script, as you can see that sort of grew over the years to get for testing purposes and for Linux magazine articles and for setups to get rid of all prior settings around contact, KDE, PIM, K-mail and Arkonadi on my system. So what I did is, lots of files in a variety of places that aren't correct anymore today, but that was a script. I made this a script because I needed it that often. That says a lot, I think. I wanted to put this disclaimer here, the dangers of file deletion because I will give you the paths where stuff is in and config files are in. I'll be done in just three slides. You may lose all local changes that have not been synced to your server if you delete and mess with Arkonadi cache and files. That's a given. That's just normal. Workaround copy recent layers to local mail folder before proceeding. That mostly works. So copy the mails from the last day to the local mail folder and then mess with Arkonadi because you still have the secure state on the IMAP server. So that's what I learned. I can delete all of it and give it a fresh start and then copy the mails that I tried to send or that I sent in the last days in there. What's more work is that you lose all the settings, all those wonderful folder settings, for example, because the folders have a name, but they also have a hash or a string in the configuration files. It's a number, as far as I remember, and they are identified by the number. So contact gets irritated by that. The send folder will suddenly be a completely different folder. It's not that it doesn't find a folder. It will just use a different one. I haven't found out why, and the same applies to draft and templates. But for all the other folders, you will just lose the settings because the folder doesn't exist anymore, so you have to set it up again. There is quite a number that can be... quite some steps that can be automated, like I did with the other script, and some config files can just be copied back and forth. Also, when you set up a new machine, like identities or mail transports that make your life easier so you don't need to enter the mail server again if you don't want to use the wizard. This is my current state of the directories and files that are being used by Akonadi and Contact. If you have a look, that should be at least on my tumbleweed system. It's cache Akonadi. That's the Akonadi cache. So if you delete it with Akonadi console, that's where this happens. If you do an RMRF in this directory, you just pull the cache away from Akonadi, but it will recreate it automatically when it starts again with the problems of the folder names. I don't know what exactly is in TMP Akonadi, but it can be a lot. It's temporary files. On my desktop machines, I have this in a large tempfs file so it will be automatically deleted on reboot. As I mentioned, if you stop running Akonadi tests because it's not meant for end users, the only thing you'll find in TMP Akonadi is a socket for my SQL and that's about it. There are really just like four tiny files. There are zero size files because they are sockets. That's all there is in TMP, yes. Everything else was the crap from Akonadi tests. Wait, how on earth could there be 12GB when I run an Akonadi test? That's the only case that there might be more files. But Akonadi tests are supposed to be used from the unit test framework and then it's probably set up with different parameters just running it yourself. So it's not supposed to do that, but if you don't do that then it's really just socket files. Then we have config files. We have the main mail storage in local share Akonadi. We have the index of the desktop search engine in local share balloon and we have the local mail and local mail folders. Correct? Obviously. I am done. I just wanted to give you some sources of information. I think we as KDE should do something. But this is a good start. So I'm ready for questions if there is time left. We don't have much time, but if there's one small short question with a short answer. I wanted just one more disclaimer. I'm not a developer. I'm not a coder. I've been a user for something like 20 years and I only filed, I think, one single bug in this whole realm because with the systems that I've been using especially with Tumbleweed, most of the bugs got fixed faster than I could file one. In my experience with the Microsoft Exchange plugin it works only when you initialize it and for the calendar it only works read only. But if you reboot the system it doesn't work anymore. Ever. That's my experience and that was a few months maybe a year ago. I'm hoping it's better now. I haven't tried it yet. Have you tried it recently? I just came across it this week and I just learned this week that there is a new one. I hadn't expected it. I just came across it because colleagues of mine had used Evolution with Exchange Connector and it failed or has big troubles since the last update that Microsoft did in July 17 or something like that. So that's only why I came across it at all. So you mentioned those C rules, the filter rules, and I didn't quite understand it. It's a local feature of Contactor. It's just a certain protocol to communicate with a certain mail server. It's a front-end tool. It's a front-end, a local editor with syntax check that uses this sieve protocol to put down a file on the server. It's still server-side. It's server-side filtering. This is just the good to use it. Behind you. No, we have no time now. You can ask later on. Thank you for your presentation. Thank you.