- Yes, yes... - for real? - Yes I come all the way from Taiwan... and you? - Oh I'm from here.. and what about you - me? hmm I flew 18 hours to get here (me) In short, the above is how the whole thing started. It is really interesting how people from all over the globe attended the event. It was a fun learning experience and even the unexpected was waiting on us.
Read MoreLDAP Group Sync in Mattermost In Mattermost v5.8 we deployed LDAP group sync feature to enable Enterprise Edition customers to create and synchronize groups in Mattermost matching their LDAP groups. The goal was to ease onboarding by automatically adding group members to configured teams and channels. With the upcoming Mattermost v5.12 we’re adding the ability to create teams and channels that are only accessible to those synced groups. This post describes what LDAP “nested groups” are and how we ended up modelling and representing them in code.
Read MoreThis past week, I was privileged to attend Percona Live 2019, an open-source database conference held this year in Austin, Texas. With the breadth of the sessions I attended being captured on a community.mattermost.com post, I wanted to use this blog post to dive into a recurring topic from the conference: database replication. What is replication? Replication is a means by which data on one database server is automatically copied – or replicated – to other database servers called replicas.
Read MoreThis year I had the opportunity to attend the security conference CanSecWest in Vancouver, BC. Like any security conference, it was full of exploits and interesting anecdotes. There were plenty of interesting talks, but this post focuses on a talk by Zhiniang Peng and Minrui Yang on the dangers of homomorphic encryption. This post gives a high level overview and avoids giving too much technical detail. What is Homomorphic Encryption? Homomorphic encryption is defined as an encryption scheme which allows computations to be performed on ciphertext that, when decrypted, match the result of the operation as if it was applied to the plain text.
Read MoreIf you want to submit good pull requests, start with our contribution checklist. Today, that page talks about what to fork, how to style your code, how to write unit tests and where to push your code. Implicit in all of that is the need to write great code, of course! But this blog post isn’t about writing great code, it’s about making your pull request a great experience for you and your reviewers.
Read MoreGo is an extremely opinionated programming language. import something in a file that’s not used? It won’t compile, and there’s no flag to override. While there are workarounds, the end result remains the same: Go files are never cluttered by unused imports. This is true for all Go code everywhere, making every Go project more accessible. Not all Go opinions are enforced by the compiler. Some are documented in Effective Go, and yet others are reflected only in the coding style of the Go standard library.
Read MoreMattermost 5.2 will include major overhauls to the plugin system. Over the last six months of plugins being in beta, we’ve received a lot of great feedback from our community and customers building Mattermost plugins, as well as from our core team. We’ve taken this experience and feedback and used it to enhance our plugin system. This brings us a step closer to moving plugins out of beta and into a full stable release.
Read MoreMattermost 5.1 will include support for serving Mattermost from subpaths. This allows Mattermost to be exposed at something like https://example.com/company/mattermost, with your proxy server exposing different services at other subpaths. Subpath support is configured via the Site URL. Using subpaths in production In production, after configuration and restart, the application server expects all HTTP requests to be anchored to the configured subpath. This includes static assets, API calls, and WebSockets. For convenience, the application server redirects any unexpected requests back into this subpath, e.
Read MoreHeads up that with PR#1239, we’re effectively switching to npm@6. Why the change? Previously, doing a fresh npm install would unexpectedly change package-lock.json. Upgrading to npm@6 should resolve this going forward. What do I need to do? Make sure you’re running npm@6: npm install -g npm@6
Read MoreA reminder that Mattermost will be separating the /platform repo into two repositories on September 6th, 2017: a new repository for webapp client code, hosted at github.com/mattermost/mattermost-webapp existing repository (/platform) renamed to /mattermost-server, containing the server code. Why the change? Separates PRs for client and server with better naming conventions. This is similar to React Native and Redux repositories and helps us: work on one part of the system (webapp/server) without worrying about the other.
Read More