Kolab Groupware is a collaboration suite establishing the integration of various applications you know already; Most prominently, these include 389 Directory Server, Postfix, Cyrus IMAP and Roundcube. Together, these applications would comprise a simple mail system that, in terms of functionality, would fall short of “groupware” and “collaboration” functionality. Side-note: Cyrus IMAP has added CalDAV,… Continue reading Kolab, SSO and Second Factors
I now have a bit more information on what it is I will be achieving, and I wanted to share the roadmap and horizon of the project I’m undertaking. The software development project is called PACK — a portal or panel for administration of Kolab Groupware. For our current most important deployment, Kolab Now, this… Continue reading A Flask Mega-Tutorial: Intermezzo II
Welcome back to my mega-tutorial on Flask. If you’re following along with Part I and Part II, you should already have a minimal Flask application that doesn’t really do anything meaningful. While I had said before, this part would be all about testing, you may think “Why? It doesn’t do anything!”. That’s correct. It’s time… Continue reading A Flask Mega-Tutorial: Part III
JMAP is a JSON-based API for synchronizing a mail client with a mail server. As you may be aware, Kolab is a lot more than just a mail server, and in our endeavours to bring you the next-generation experience for collaboration, JMAP is a very interesting candidate for our web client — you may know… Continue reading JMAP Proxy Docker Image
Everybody who knows me knows I hate to run in circles. Suffering from a repetition syndrome is what awaits everyone who’s ignoring those nifty tricks that make their lives more convenient. Over the course of years, I’ve met many people that use GIT too frequently to not have their setup include the convenience of a… Continue reading Use the Prompt, GIT!
TL;DR: Do not use OAuth to “Sign in with…” without a second factor. OAuth is the mechanism with which a third party (a “client” or “App”) can be delegated a level of authority on an account (the “first party”, most commonly you) with an OAuth provider (the “second party”). This usually includes allowing an app… Continue reading Thou Shalt Not Use OAuth
I’ve planned to tell you more about Flask. I’ve mentioned this is an application in development, and I was following my own learning curve. I have to admit I’ve outpaced my learning curve mega-tutorial series, slightly. I was planning on maybe posting one part of the mega tutorial about every week or so, but I’m… Continue reading A Flask Mega-Tutorial: Intermezzo I
In Part I, we set up a virtual environment and installed a few too many modules in it. In this part, we’ll look over the directory hierarchy and start creating an application that can load configuration. Remember to navigate to that ppppp.git repository of ours, and source venv/bin/activate. A Directory Structure The following is a… Continue reading A Flask Mega-Tutorial: Part II