Technology

MEDLab hosts its own software in order to participate in the free/open-source software (FLOSS) commons, and in order to protect our practices from surveillance-based business models. We are seeking to build a vanguard stack against digital colonialism.

Cloudron

my.medlab.host

What it is: Cloudron is a tool created by a small business that makes it easier to deploy and manage multiple open FLOSS tools on a server. We have a relationship with the company and they provide excellent support. It sits in the background and isn't really user-facing.

How it works: Cloudron automatically updates our apps and backs up their data. We don't need to worry about it too much. It is through Cloudron that we create accounts that can be used on the other apps we use, as it manages accounts centrally. Our Cloudron system is hosted on a DigitalOcean droplet.

DokuWiki

handbook.medlab.host

What it is: This handbook! DokuWiki is a simple FLOSS wiki system that uses simple text files rather than a fancy database. It is hosted on Cloudron.

How it works: DokuWiki uses the same user account system as other apps on the Cloudron system. All MEDLab team members have edit access; Nathan has admin access.

GitLab

gitlab.com/medlabboulder

What it is: GitLab is an open-source code collaboration platform, similar to GitHub. It is self-hostable on Cloudron, but it is resource-intensive, so we currently use the commercial instance, which is currently free for us. In addition to code hosting, we use it for some Web projects, such as CommunityRule, which is deployed through GitLab using Jekyll.

How it works: Create an account on GitLab.org, and Nathan can grant you access to relevant projects. Here are some basic docs on how GitLab and git in general work.

Newsletter

lists.colorado.edu/sympa/info/medlab-announce

What it is: We send an occasional newsletter through the medlab-announce@list.colorado.edu list on the university's SYMPA system. SYMPA is a widely used FLOSS email server.

How to use it: Simply copy the “template” from an earlier newsletter, update the content, and send it to medlab-announce@list.colorado.edu. Nathan is the admin and all posts must be manually approved.

At some point, we should convert the email system to Mailtrain, available on Cloudron, or the university's newsletter system.

NextCloud

cloud.medlab.host

What it is: NextCloud is a FLOSS platform for file-hosting and collaboration that is heavily extensible through plugins. We host it on Cloudron and use it to manage all our internal files and documents. It is also integrated with Collabora, a collaborative document editor.

How it works: Any MEDLab research fellows should be able to access our filesystem with their accounts. It works much like Google Docs. You can edit Mircosoft and OpenDocument office file formats (.docx, .odt, .pptx, .xlsx, etc.) online using the Collabora editor, but this is a bit clunky and slow. It might be easier to download such files to your computer, edit locally, and then re-upload. A faster and simpler collaborative editing tool, though less powerful, is NextCloud's built-in Markdown editor. To use it, create a “New text document” using the “+” button at the top, and create a file that ends with .md (as is the default). This is a good way to keep notes in simple rich text, though it is not a fully featured word processor.

Please use discretion in sharing access to files and folders. All files are available to MEDLab team members, but it may not be appropriate to share them externally. Please ask Nathan if you are uncertain about what would be appropriate.

NextCloud plugins give us a variety of tools, which you can access through the menu bar at the top of the Web interface. These include:

  • Deck - A kanban-style tool for managing workflows. We use this mainly to manage logistics around grant reporting, but you can create your own deck for a project you're working on if it would help you with task management.
  • Polls - Enables multiple choice polls, including Doodle-style time polls for meetings. The interface takes some getting used to.
  • Forms - Enables the creation of forms akin to Google Forms. It's a bit buggy, and the data export format doesn't make it easy to extract data usefully. Hopefully this will improve with time. For forms that will acquire large amounts of input, it's better to use the form tool on our colorado.edu website.
  • Element - This is our chat. See information on Matrix below.

You can access NextCloud through the Web interface or through mobile apps. Note that the NextCloud mobile app really only includes the Files tool, while the Web interface includes access to all the tools.

Matrix

cloud.medlab.host/riotchat

What it is: Matrix is a FLOSS communications protocol intended to be a highly secure backend for chat, email, social media, and other applications. It is still early-stage, but it a very promising project, and it has already been adopted by several European governments seeking to reduce their dependence on US-based software companies. Rather than relying on centralized companies, it enables both federated and peer-to-peer connections. Our own instance is currently not federated with the wider Matrix network, as we only use it internally, but we could add this functionality if we see fit. We use Element, which is the flagship Matrix client; Element used to be called “Riot,” which is why that's in the URL on NextCloud.

How it works: Access it through the Element client from within NextCloud, or using a Matrix-compatible mobile app (such as the one also called Element). The server is hosted on Cloudron at matrix.medlab.host (which you only need to know if you're logging in through a mobile client; the Web client already knows this). When first logging in, it will ask you to create a security key, which is a long series of characters. Keep that someplace safe. Hopefully you won't need to use it very often. Log in with the same credentials you use for NextCloud.

Element does not support threaded discussions, but you can reply to others' posts. Use lots of reaction emojis! If you want to send an email notification to everyone in the room, include @room in your message. You can also notify individuals with @[username].

Twitter

twitter.com/medlabboulder

What it is: This is our main social-media account. It's not terribly active, but it's useful at times.

How it works: Nathan controls the account. Let's discuss sharing it!

Website

colorado.edu/lab/medlab

What it is: For the MEDLab website we use the Drupal-based system maintained by the university. We use this for:

  • Basic information about MEDLab projects and personnel
  • Event pages and registration forms
  • Blog posts on our work

How it works: Currently, only Nathan has admin access to the website.