Skip to content

Instantly share code, notes, and snippets.

@ubarsaiyan
Last active September 2, 2019 14:37
Show Gist options
  • Save ubarsaiyan/0284a21fe6e3044bc0a1e2c81aa01563 to your computer and use it in GitHub Desktop.
Save ubarsaiyan/0284a21fe6e3044bc0a1e2c81aa01563 to your computer and use it in GitHub Desktop.
Google Summer of Code 2019 - Rocket.Chat - Deeper Nextcloud Integration

Google Summer of Code 2019 - Rocket.Chat  alt text

Project: Deeper Nextcloud Integration

Student: Utkarsh Barsaiyan   alt text   alt text   alt text

Mentors: Roeland Jago Douma, Guilherme Albrecht Gazzo, Tasso Evangelista

GSoC

This project aimed to enhance and drastically improve the existing integration between Rocket.Chat and Nextcloud. Rocket.Chat is a leading open source team communications platform whereas Nextcloud is a very powerful open source, self-hosted file sharing platform. So, it is only logical to combine the power of the two greatest open source software and create a seamless integration experience. The main areas of focus were overhaul of the WebDAV file picker and auto insertion of Nextcloud WebDAV server when user logs in through Nextcloud OAuth.

GIF

Tasks Accomplished

The three-month long project can be broken down into the following tasks that were accomplished:

  • Made Nextcloud OAuth a separate package
  • Added the functionality to auto-insert Nextcloud WebDAV server when user logs in with Nextcloud OAuth
  • Added loading animations in the file picker while loading a directory or preparing a file for upload
  • Improved the UI of the file picker by introducing a neat and clean interface that can accommodate more items in the same space without sacrificing readability
  • Removed the cancel button as it was redundant and added a smaller back button
  • Let the user know when the folder is empty in the file picker
  • Displayed file sizes and easy to read date format in the file picker
  • Allowed the user to select different sorting criteria in the file picker
  • Introduced file path breadcrumbs, hierarchical buttons to go to any parent directory
  • Added a grid view for the file picker for a relaxed view
  • Fixed text overflows in the file path breadcrumbs and made it horizontally scrollable
  • Added file search functionality with slick animations
  • Added tooltips to the buttons in the file picker
  • Truncated middle part for long file names in the file picker
  • Updated WebDAV server credentials' database indexing
  • Fixed uploading file to WebDAV server
  • Enabled sending custom request in webdav-client library that Rocket.Chat uses
  • Introduced file previews in the file picker

Relevant Pull Requests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment